分数在这里不起作用? - Python

时间:2013-01-17 03:13:05

标签: python variables python-3.3

我试图在这个游戏中保持得分,所以我设置了一个得分变量,每次正确回答答案时,它会增加+1分,如果得到错误的答案,它将扣除一个点。当我在结尾打印得分时,它仍然等于0。

score = 0
q1answer = ("metallica", "slayer", "megadeth", "anthrax")

answerinput = str(input("name one of the 'Big Four' metal bands'"))

if answerinput.lower() in q1answer:
    print ("You got the right answer!")
    score + 1

else:
    print ("That is the wrong answer...")
    score - 1
print (score)

2 个答案:

答案 0 :(得分:2)

您的score + 1只是一个表达式,不会更改score变量的实际值。它与0 + 1基本相同,因为python只会获得score的值,并将1添加到它收到的值,而不是变量本身。

要解决此问题,您需要重新指定score以匹配其当前值加一:score = score + 1或更简单的版本:score += 1。要删除分数,只需使用减号:score = score - 1或更简单的score -= 1

答案 1 :(得分:1)

score + 1score - 1只是表达式;他们实际上什么都不做。要实际更改score,请使用score += 1score -= 1

(另外,使用一套!大括号!如前所述;)