while loop / Double或退出

时间:2015-09-24 18:18:23

标签: python while-loop

我知道如何使用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]: ")

2 个答案:

答案 0 :(得分: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]: ")

答案 1 :(得分:0)

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