jsy*_*mty 1 python infinite-loop
我试图编写一个简单的程序:
import random
x = raw_input("How many rounds:")
rounds = 0
while rounds < x:
# rock=0, paper=1, scissors=2
computer1 = random.randint(0,2)
computer2 = random.randint(0,2)
if computer1 == computer2:
print "draw"
elif computer1 == 0 and computer2 == 1:
print "lose"
elif computer1 == 1 and computer2 == 2:
print "lose"
elif computer1 == 2 and computer2 == 0:
print "lose"
else:
print "win"
rounds = rounds + 1
Run Code Online (Sandbox Code Playgroud)
为什么这会给我一个无限循环?当我取出输入行并将x替换为某个值(例如10)时,输出会给出10个结果.但为什么我不能用raw_input做呢?
Eli*_*sha 10
raw_input 返回一个字符串,需要将其强制转换为 int
x = int(raw_input("How many rounds:"))
Run Code Online (Sandbox Code Playgroud)
请注意,在python中:
>>> 159 < "8"
True
>>> 159 < 8
False
>>>
Run Code Online (Sandbox Code Playgroud)
为了更好地理解int- string比较,你可以看看这里.
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |