python - 即使减去两次分数,值仍显示为 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 或负数。我很困惑
帮助将不胜感激
解决方案
看起来你没有按照你的评论所说的那样做,在 dice2 else-statement 上你给了 10 分,即使你说你会减去 5。评论或代码中的错字?
推荐阅读
- machine-learning - 自定义词汇表上的 Sklearn Countvectorizer
- html - 将 2 个元素放在同一行
- ms-access - Currentdb.Execute (Database.Execute) 不工作或抛出错误
- python-2.7 - Python遍历日期的txt文件并更改日期格式
- ios - 按年月日排序时的问题
- c# - Visual Studio + Docker - 使用编辑并继续调试应用程序?
- javascript - Chrome JavaScript 的通用串行接口库
- html - Angular 6:根据活动选项卡更改 div 的背景颜色
- python - ValueError: list.remove(x): x not in list 错误如何解决?
- spring-security - Spring Security - 为所有 URL 发送基本身份验证标头,而不仅仅是为安全端点发送