我有兩個變量:「分數」和「獎金」,都初始化爲0.每次分數增加5時,我都希望獎勵增加1.我嘗試過使用itertools 。重複,但我無法使它工作。基於另一個變量增加一個變量
最初的想法:如果分數是5的倍數,並且至少是5,然後按1
if score>=5 and score%5==0:
bonus += 1
增加獎金不幸的是,這是行不通的,因爲我們不斷遞增永遠的獎金。換句話說,當分數是5時,獎勵變爲1。 。 。然後2。 。 。等等,沒有限制。
想法:記錄分數;如果得分是5的倍數,並且至少是5,那麼檢查我們是否已經看過5的倍數。如果我們之前沒有看到過這個5的倍數,那麼將獎勵增加1。現在我們可以避免重複計數。
if score>=5 and score%5==0:
for x in range(5,score+1,5):
score_array_mults_of_5 = []
score_array_mults_of_5.append(x)
for i in score_array_mults_of_5:
if (i in range(5,score-5,5))==False:
for _ in itertools.repeat(None, i):
bonus += 1
。 。 。除了這個實現也是雙重計數並且不起作用。
我已閱讀StackExchange,Python文檔,現在我已經嘗試了兩個小時的自己的解決方案。請幫忙。
編輯:謝謝大家。所有有用的答案。
對於那些詢問還有什麼會影響獎金的人:如果用戶按下鍵盤按鈕,則獎金減1。我沒有提及那部分,因爲它似乎不相關。
除了分數還有什麼影響獎金?這種關係不僅僅是「獎金=分數// 5」嗎? – kojiro
工作。非常感謝 - 有沒有一些「接受答案」按鈕?我已閱讀過關於此的內容,但我沒有看到它。 – Comedyguy
單擊答案旁邊的複選框 – aruisdante