我正在写一个关于硬币翻转的程序我希望用户输入数字,并且程序可以多次翻转硬币。
一旦用户给出号码,程序就会停止
这就是我所拥有的
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
答案 0 :(得分:2)
numFlips
是str
。您必须先将其转换为int
。
numFlips = int(raw_input("Flips "))
否则,您的支票flips < numFlips
将无效,since all int
s 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。