我的程序应该为每个卷显示一对骰子,按计划工作。我希望它重复多次,但每次重复它都不再是随机的,只是从第2行和第3行重复分配的数字。如果我滚动2和3,它会重复2和每次都是3次。 我怎样才能使它在每次循环时分配一个新的随机数?
import random
dice1 = random.randrange(1,6)
dice2 = random.randrange(1,6)
... [编辑:]
visualdice_1 =( """
+-------+
| |
| * |
| |
+-------+""")
visualdice_2 =( """
+-------+
| * |
| |
| * |
+-------+""")
然后与
联系def showdice():
#Dice1 Visual Execution
if dice1 == 1:
print(visualdice_1)
if dice1 == 2:
print(visualdice_2)
def start():
confirmation = input("Would you like to roll the dice? (Y/N): ")
if confirmation == "Y" or confirmation == "y":
print ("You've rolled:",dice1,"and", dice2), showdice()
return start()
else:
print("Goodbye")
start()
答案 0 :(得分:2)
您在说明中找到了自己的问题:“第2行和第3行的指定号码”。您可以在循环上方指定数字。
相反,将随机数生成器放在循环中,并编辑showdice()
函数以将骰子值作为参数:
def showdice(dice):
#Dice1 Visual Execution
if dice == 1:
print(visualdice_1)
if dice == 2:
print(visualdice_2)
# I suppose this continues until "if dice == 6"...
...
def start():
dice1 = random.randrange(1,6)
dice2 = random.randrange(1,6)
confirmation = input("Would you like to roll the dice? (Y/N): ")
if confirmation == "Y" or confirmation == "y":
print ("You've rolled:",dice1,"and", dice2)
showdice(dice1)
showdice(dice2)
return start()
else:
print("Goodbye")
start()
否则,它将始终使用您在脚本顶部实例化的相同的随机滚动骰子。
答案 1 :(得分:0)
重新运行:
dice1 = random.randrange(1,6)
dice2 = random.randrange(1,6)
在打印功能之前。