python-3.x - 掷骰子游戏输出错误信息
问题描述
我的代码基本上是一个掷骰子游戏,但最后,代码是为了说明玩家 1 领先玩家 2 的距离,但代码输出我认为与任何东西都无关的随机整数
老实说,我不知道该尝试什么,我已经看了好几次代码,我很困惑。
import random
Round = int(input("Developer use only, set to 5 otherwise "))
p1_extra = 0
p1_total = 0
p1_turns = 5
p2_extra = 0
p2_total = 0
p2_turns = 5
for i in range (Round):
p1_go = input("Please type 'ROll' to roll the dice, Player One ")
while p1_go != ("ROLL"):
p1_go = input("Please type 'Roll' to roll the dice. (caps sensitive)")
p1_roll_1 = random.randint(1,6)
p1_roll_2 = random.randint(1,6)
p1_add = (p1_roll_1) + (p1_roll_2)
p1_total = p1_add + p1_total
print ("P1: On your first roll you got " , p1_roll_1 , ". On your second roll you got " , p1_roll_2 , ". In total you have " , p1_total)
if p1_total % 2 == 0:
print ("Player One Got An Extra 10 Points For Getting An Even Number! ")
p1_total = (p1_total) + 10
print ("Player Ones Total Is Now " , p1_total)
else:
print ("Player One Lost 5 Points For Getting An Odd Number! ")
p1_total = (p1_total) - 5
print ("Player ones Total Is Now " , p1_total)
if p2_total % 2==0:
print ("Player Two Got An Extra 10 Points For Getting An Even Number! ")
p1_total = (p2_total) + 10
print ("Player Twos Total Is Now " , p2_total)
else:
print ("Player Two Lost 5 Points For Getting An Odd Number! ")
p1_total = (p1_total) - 5
print ("Player Twos Total Is Now " , p2_total)
if p1_total > p2_total:
print ("Player 1 Won. Congratulations!!! ")
difference = (p1_total) - (p2_total)
print ("Player 2 was " , difference , " points away from drawing ")
else:
print ("Player 2 Won. Congratulations!!! ")
difference = (p2_total) - (p1_total)
print ("Player 1 was " , difference , " points away from drawing ")
预期结果是玩家一的最终得分和玩家二的最终得分之间的差异,但代码输出的数字不同,永远不会与预期结果正确。
解决方案
我相信您的代码中有错字,您实际上并没有p2_total
正确更新您的代码。您正在将值分配给p1_total
。尝试更改以下行:
if p2_total % 2==0:
print ("Player Two Got An Extra 10 Points For Getting An Even Number! ")
p2_total = (p2_total) + 10 # Renamed this line
print ("Player Twos Total Is Now " , p2_total)
else:
print ("Player Two Lost 5 Points For Getting An Odd Number! ")
p2_total = (p2_total) - 5 # Renamed this line
print ("Player Twos Total Is Now " , p2_total)
推荐阅读
- batch-file - 在 Windows 中将命令作为函数参数传递
- vb.net - 如何修复从“ListViewItem”类型到“Integer”类型的转换无效。错误?
- doctrine-orm - 如何在学说查询中使用 CASE 和 SUBSTRING_INDEX?
- reactjs - 从 react.js 的下拉列表中获取初始值
- kubernetes - pod 是否通过服务来处理出站流量?
- u-boot - 未知命令 'boota' 尝试 'help' - 引导 u-boot 映像时出错
- vim - .vimrc 中的 vim 将 q 映射为 0 有意外行为
- ios - 如何在 SwiftUI TextField 中加粗文本?
- r - 在 R 中创建用于回归的领先和滞后年份虚拟变量
- rustdoc - 使用 rustdoc 生成降价文档?