簡體   English   中英

python中是否有任何方法可以通過在循環結束時要求用戶重復一段時間或for循環來進行?

[英]Is there any way in python to repeat a while or for loop by asking the user to do so at the end of the loop?

我剛開始學習Python,並且正在編寫一個簡單的骰子滾動程序,該程序向用戶詢問骰子的數量以及骰子的邊數。

到目前為止,我有這個:

numberOfDice = eval(input("How many dice/die would you like to use? "))
numberOfSides = eval(input("How many sides will each die have? "))

for i in range(1,numberOfDice + 1) :
    roll = random.randint(1,numberOfSides)
    print(roll)

while True :
    replay = input("Would you like to play again?     ")
    if replay.lower() == "yes" :
        numberOfDice = eval(input("How many dice/die would you like to use?     "))
        numberOfSides = eval(input("How many sides will each die have?     "))
        for i in range(1,numberOfDice + 1) :
            roll = random.randint(1,numberOfSides)
            print(roll)
    else :
        break

它可以工作,但是對我來說似乎並不是很有效。 我想知道是否有一種方法可以在第一個for循環結束時詢問用戶是否要再次播放,如果他們說是,請向他們詢問新值並再次重復for循環。 有什么辦法可以做這樣的事情嗎?

通用應用程序是“有效時保持”循環,例如:

replay = True
while replay:
    ... remainder of code
    replay = raw_input("Roll again? (y or n)") == 'y'

注意,這是一個簡單的版本,沒有錯誤檢查:如果用戶輸入“ y”,則程序繼續;否則,程序將繼續。 其他任何事情都終止了滾轉杜茲的絕妙世界(永遠不要說'die':-))。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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