Python - 用于确定while循环中条件的用户输入

时间:2016-03-14 18:21:14

标签: python python-2.7 while-loop infinite-loop

为什么下面的代码产生无限循环?如果我硬编码y的值等于10它不会永远持续下去,但如果我通过用户输入输入10,它会。

x = 0
y = raw_input("Enter a Number: ")

while x <= y:
    x = x + 1
    if x %2 == 0:
        print x
    else:
        print "odd"

2 个答案:

答案 0 :(得分:2)

您可能希望将y值(现在是字符串)转换为数字。

例如:

y = int(raw_input("Enter a number: "))

答案 1 :(得分:0)

解释@ SiggyF的答案,修改你的代码以摆脱不必要的行:

y = int(raw_input("Enter a number: "))
for x in range(0, y+1):
    if x % 2 == 0:
        print(x)
    else:
        print("odd")