[英]Dice roll python
尝试创建一个程序,如果总和大于8小于20,则打印4个骰子骰。如果我运行此程序,则会遇到无限循环。 我尝试设置total = 0,然后在while循环中将4个骰子的总和加到total中,但这没有用。
码:
from random import randint
def main():
total = sum(diRoll())
while total > 8 and total < 20:
print(diRoll())
def diRoll():
dice1 = randint(1, 6)
dice2 = randint(1, 6)
dice3 = randint(1, 6)
dice4 = randint(1, 6)
diceRolls = dice1, dice2, dice3, dice4
return sorted(diceRolls)
main()
好吧,在while
循环中,您永远不会将total
设置为新值。 因此,您的循环将继续测试旧值,从而永远不会结束。
请尝试以下操作: While将进入无限循环,但这将打印出满足您的合计标准的不同骰子排列。 如果包含中断 ,它将终止
def main():
while True:
total = sum(diRoll())
if total > 8 and total < 20:
print(diRoll())
break
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.