簡體   English   中英

While 循環/雙倍或退出

[英]While loop/ Double or quit

我知道如何使用while循環,但我不確定需要發出命令以將前一個分數加倍的部分。

任務是加倍或退出。

這是我當前的代碼:

import random
play = 'y'
Original = 1

while play.lower() == 'y':
    chance = random.randint(0,3)

    if chance == 0:
        print("Unlucky.... better luck next time")

    else:
        newnumber = Original*2
        print (newnumber)


    play = input("Play again?[y/n]: ")

您目前正在一遍又一遍地重復相同的固定輸出計算:

newnumber = Original*2

Original是一個常量,因為您只在開始時定義它並且永遠不會更改它。

您應該迭代地使用上次運行的結果:

import random
play = 'y'
result = 1

while play.lower() == 'y':
    chance = random.randint(0,3)
    if chance == 0:
        print("Unlucky.... better luck next time")
        break
    else:
        result *= 2
        print(result)
    play = input("Play again?[y/n]: ")

for循環更適合您的問題:

from itertools import count
import random

for pot in count():
    if random.randint(0, 3) == 0:
        print("Unlucky.... better luck next time")
        break
    print(2 ** pot)
    if input("Play again?[y/n]: ").lower() != 'y':
        break

暫無
暫無

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

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