【发布时间】:2018-09-08 22:59:36
【问题描述】:
我的程序应该为每个掷骰显示一对骰子,这按计划工作。我希望它重复多次,但每次重复它不再是随机的,只是重复从第 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()
【问题讨论】:
-
不要使用递归来实现简单的循环。你只是在浪费堆栈空间。
-
另外,
print(…), showdice(…)充其量只是误导性代码。如果您的意思是两个单独的语句,请将它们放在单独的行中(或者,如果必须,使用分号)。您在这里所做的是以非常复杂的方式创建两个None值的元组,然后忽略该元组。
标签: python python-3.x loops random