Python 3.x Python 3:如何将掷骰子程序循环回起点
在没有老师或小组帮助的情况下编写我的第一个solo程序,这是一个简单的代码,可以作为D&D骰子滚轮,用于用户需要的任何类型或数量的骰子 我已经做了大约四个小时了,最后一件事我想做的就是把它循环回到开始,而不是在用户没有重新掷已经选择的骰子时结束,我希望它能从顶部重新开始,这样玩家就可以输入新的骰子值和生成的骰子数,而无需关闭程序并重新运行Python 3.x Python 3:如何将掷骰子程序循环回起点,python-3.x,restart,Python 3.x,Restart,在没有老师或小组帮助的情况下编写我的第一个solo程序,这是一个简单的代码,可以作为D&D骰子滚轮,用于用户需要的任何类型或数量的骰子 我已经做了大约四个小时了,最后一件事我想做的就是把它循环回到开始,而不是在用户没有重新掷已经选择的骰子时结束,我希望它能从顶部重新开始,这样玩家就可以输入新的骰子值和生成的骰子数,而无需关闭程序并重新运行 import random try: min = 1 max = int(input("Enter the highest val
import random
try:
min = 1
max = int(input("Enter the highest value of dice to be rolled: "))
except:
print("Your input was invalid, program rolled a d20 by default")
min = 1
max = 20
again = True
number_of_dice = int(input("Enter number of dice to roll: "))
for i in range(number_of_dice - 1):
print(random.randint(min, max))
while again:
print(random.randint(min, max))
reroll = input("Roll again? (y/n): ")
if reroll.lower() == "y" or reroll.lower() == "yes":
for i in range(number_of_dice - 1):
print(random.randint(min, max))
else:
print("Thank you")
break
您可以尝试以下方法:
import random
while True:
try:
min = 1
max = int(input("Enter the highest value of dice to be rolled or 0 to exit: "))
except:
print("Your input was invalid, program rolled a d20 by default")
min = 1
max = 20
if max == 0:
break
if max < 0:
continue
again = True
number_of_dice = int(input("Enter number of dice to roll: "))
for i in range(number_of_dice - 1):
print(random.randint(min, max))
while again:
print(random.randint(min, max))
reroll = input("Roll again? (y/n): ")
if reroll.lower() == "y" or reroll.lower() == "yes":
for i in range(number_of_dice - 1):
print(random.randint(min, max))
else:
print("Thank you")
break
随机导入
尽管如此:
尝试:
最小值=1
max=int(输入(“输入要掷骰子的最高值或0退出:”)
除:
打印(“您的输入无效,程序默认为d20”)
最小值=1
最大值=20
如果max==0:
打破
如果最大值小于0:
持续
再次=正确
骰子数量=整数(输入(“输入要掷骰子的数量:”)
对于范围内的i(骰子数量-1):
打印(随机随机随机数(最小值、最大值))
同时:
打印(随机随机随机数(最小值、最大值))
重新滚动=输入(“再次滚动?(y/n):”)
如果reroll.lower()=“是”或reroll.lower()=“是”:
对于范围内的i(骰子数量-1):
打印(随机随机随机数(最小值、最大值))
其他:
打印(“谢谢”)
打破
此外,我建议重命名“min”和“max”,因为它们是保留关键字查找函数。。。您还需要另一个
while
循环,使用不同的用户输入来表示是否结束程序。您可以将整个过程放入while(1)循环,该循环将在endlessley循环中,并在其中放入合适的中断条件。谢谢,我没有想到将整个程序放入while True循环中。这比我试图在脑海中想出的解决方案要优雅得多。祝你有美好的一天!