首页 > 解决方案 > 即使减去两次分数,值仍显示为 10

问题描述

dice1 = random.randint(1, 6)
if (dice1 % 2) == 0:
    print("This number is even. Adding 10 to score.")
    player1score = player1score + 10
else:
    print("This number is odd. Subtracting 5 from score.")
    player1score = player1score - 5
if player1score < 0:
    print("Your score is too low. Reseting it to 0.")
    player1score = 0
dice2 = random.randint(1, 6)
if (dice2 % 2) == 0:
    print("This number is even. Adding 10 to score.")
    player1score = player1score + 10
else:
    print("This number is odd. Subtracting 5 from score.")
    player1score = player1score + 10
if player1score < 0:
    print("Score too low, reseting to 0.")
    player1score = 0
print(player1score)

我运行了这段代码,结果奇怪了两次。重置打印有效,但它从未将变量重置回 0,最后将变量显示为 10 而不是 0 或负数。我很困惑

帮助将不胜感激

标签: python

解决方案


看起来你没有按照你的评论所说的那样做,在 dice2 else-statement 上你给了 10 分,即使你说你会减去 5。评论或代码中的错字?


推荐阅读