我是编程新手,我的教授希望我们写一个骰子游戏。起初它正在正常工作,现在它不断重复每卷的相同答案。请帮忙!
import random
turns = 0
dice1 = random.randint(1, 6)
dice2 = random.randint(1, 6)
total = dice1 + dice2
while turns < 4:
turns = turns + 1
print("Presss enter to roll.")
input()
print("You rolled a {} and a {} ".format(dice1, dice2) + \
"for a total of {}.".format(total))
if total==7:
print("Congratulations! You are a winner!!!")
elif total==11:
print("Congratulations! You are a winner!!!")
elif dice1==dice2:
print("Congratulations! You are a winner!!!")
答案 0 :(得分:2)
你没有重新掷骰子移动random.randint
in while循环
import random
turns = 0
while turns < 4:
dice1 = random.randint(1, 6) // dice1 & dice2 should be assigned every iteration
dice2 = random.randint(1, 6)
total = dice1 + dice2
turns = turns + 1
print("Presss enter to roll.")
input()
print("You rolled a {} and a {} ".format(dice1, dice2) + \
"for a total of {}.".format(total))
if total==7:
print("Congratulations! You are a winner!!!")
elif total==11:
print("Congratulations! You are a winner!!!")
elif dice1==dice2:
print("Congratulations! You are a winner!!!")
答案 1 :(得分:1)
您需要在循环的每次迭代中定义骰子。就像目前一样,骰子被定义一次,然后在每次迭代时重复使用。你的“按下输入”输入也有点时髦。您只需将消息放入输入法即可。这是一个有效的例子:
import random
turns = 0
while turns < 4:
dice1 = random.randint(1, 6)
dice2 = random.randint(1, 6)
total = dice1 + dice2
turns = turns + 1
input("Press enter to continue.")
print("You rolled a {} and a {} ".format(dice1, dice2) + \
"for a total of {}.".format(total))
if total==7:
print("Congratulations! You are a winner!!!")
elif total==11:
print("Congratulations! You are a winner!!!")
elif dice1==dice2:
print("Congratulations! You are a winner!!!")