2015-09-24 72 views
-1

我知道如何使用while循環,但我不知道我需要做一個命令,以加倍以前的分數的部分。雖然循環/雙或戒

The task是加倍或退出。

這是我當前的代碼:

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]: ") 
+0

問問自己這些問題:第二次圓'while'循環,'Original'和'newnumber'有什麼價值,你希望他們是什麼?如果玩家不走運,會選擇再玩一次?最後,你*覺得幸運嗎?你做? – nekomatic

回答

0

您正在一遍又一遍地重複着同樣的固定輸出計算:

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]: ") 
0

一個for -loop是更適合您的問題:

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