python程序不会继续

时间:2013-10-22 13:26:41

标签: python

我正在写一个关于硬币翻转的程序我希望用户输入数字,并且程序可以多次翻转硬币。

一旦用户给出号码,程序就会停止

这就是我所拥有的

import random
flips = 0
heads=0
tails=0
numFlips = raw_input("Flips ")
while flips < numFlips:
    flips += 1
    coin = random.randint(1, 2)
    if coin == 1:
        print('Heads')
        heads+=1
    if coin == 2:
        print ('Tails')
        tails+=1
total = flips
print(total)
print tails
print heads

2 个答案:

答案 0 :(得分:2)

numFlipsstr。您必须先将其转换为int

numFlips = int(raw_input("Flips "))

否则,您的支票flips < numFlips将无效,since all ints are 'less than' any string

(另外,您希望为用户输入除整数之外的其他内容添加一些错误处理)

答案 1 :(得分:-1)

在线

numFlips = raw_input("Flips ")

raw_input()读取字符串:http://docs.python.org/2/library/functions.html#raw_input

通过执行int(raw_input("Flips "))

将其转换为整数

您还可以使用input()将字符串计算为python表达式,在这种情况下,它将计算为int。

编辑:正如@bruno desthuilliers所指出的那样,使用input()是不安全的,而应该只是将raw_input()转换为int。