2016-01-23 49 views
0

我正在制作一个游戏,用户必须拍摄新一波敌人。Python:有条件的'if'语句来设置速度

我试图通过检查当前得分来提高敌人产卵的速度。但是我不断收到错误。

这里是我的代码:

for x in range(score): 

    if score is > 5 and < 10: 
      spawnrate = 6 
    elif score is > 10 and < 20: 
      spawnrate = 8 
    elif score is > 20: 
      spawnrate = 10 
+2

什么错误?你会收到错误信息 - 然后添加全文。 – furas

+2

为什么你使用'for'循环? – furas

+0

如果'score'等于10或20,应该发生什么? – SiHa

回答

2

is是不正确的,而有可能链比较起来,你正在做的错误也是如此。

二者必选其一

if 5 < score < 10: 

或(更明确地)

if 5 < score and score < 10: 
0

删除is,你必须与and

if score > 5 and score < 10: 
     spawnrate = 6 
elif score > 10 and score < 20: 
     spawnrate = 8 
elif score > 20: 
     spawnrate = 10 
0

行两次使用变量:

elif score > 10 and score < 20: 

应该是:

elif score > 10 and score < 20: 

此外,Python允许你做这样的事情:

elif 10 < score < 20: 
1

,而不是测试每一种情况下低值和高值,可以让if - 例如级联,如

if score < 5: 
    spawnrate = 4 
elif score < 10: 
    spawnrate = 6 
elif score < 20: 
    spawnrate = 8 
else: 
    spawnrate = 10