簡體   English   中英

骰子總和游戲

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM