我有两个变量:“分数”和“奖金”,都初始化为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