[英]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.