[英]Dice roll sum game
好吧,我不知所措。 我正在尝试制作一个游戏,你可以随意掷骰子,但如果你的掷骰总和大于或等于 14,你就输了。 (注意我对编程很陌生,如果它很糟糕,很抱歉。)问题是代码继续运行,因为它不断询问用户输入“即使“your_list”的总和大于14.
import random
your_list = []
def dice_simulate():
number = random.randint(1,6)
print(number)
while(1):
flag = str(input("Do you want to dice it up again:Enter 1 and if not enter 0"))
if flag == '1':
number = random.randint(1,6)
your_list.append(number)
print(number)
print (your_list)
elif sum(your_list) >= 14:
print ('you lose')
else:
print("ending the game")
return
dice_simulate()
在这种情况下添加获胜和return
的条件。 此外,将return
添加到您丢失的条件。
改进代码的其他更改:
删除无用的第一个骰子(在您的情况下不计算在内)。
在可能的最小 scope 中声明your_list
(此处,在函数内部)。
改进提示。
import random
def dice_simulate():
your_list = []
while True:
flag = str(input("Roll the dice (y/n)? "))
if flag == 'y':
number = random.randint(1,6)
your_list.append(number)
print(number)
print (your_list)
list_sum = sum(your_list)
if list_sum > 14:
print ('you lose')
return
elif list_sum == 14:
print ('you win')
return
else:
print("ending the game")
return
dice_simulate()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.