此问题在此处已有答案:
How can I read inputs as numbers?(10个答案)
八年前就关门了。
我必须使用while循环进行倒计时,您选择一个数字,代码将倒计时到0:这就是我所做的
chosen_number = 0
chosen_number = raw_input('Choose a number: ')
while chosen_number > 0:
print chosen_number
chosen_number -= 1
但它在最后一行给了我一个语法错误:
TypeError: unsupported operand type(s) for -=: 'str' and 'int'
是什么导致了这个语法错误?
3条答案
按热度按时间nc1teljy1#
raw_input
总是以字符串对象的形式返回用户的输入。您需要将其转换为整数,以便从中减去1
:这也将修复while循环的条件。
str > int
在Python 2.x中始终是True
。bvn4nwqk2#
chosen_number是一个字符串。您需要将其转换为整数,然后才能对其执行算术,
例如,
ego6inou3#
raw_input
总是返回一个字符串对象。所以在对chosen_number
做减法之前,需要使用int()
将输入转换为一个整数。