Python 为什么赢了';t此while循环在“a”之后退出;0“;有人报名吗?
我正在尝试将用户输入插入列表,直到用户输入“0”。现在,一旦我输入Python 为什么赢了';t此while循环在“a”之后退出;0“;有人报名吗?,python,list,while-loop,Python,List,While Loop,我正在尝试将用户输入插入列表,直到用户输入“0”。现在,一旦我输入0,它就不会退出while循环 这是我的密码: num_array = [] inputnum = raw_input('Please enter a number: ') num_array.append(inputnum) while inputnum != 0: inputnum = raw_input('Please enter a number: ') num_array.append(inputnum)
0
,它就不会退出while循环
这是我的密码:
num_array = []
inputnum = raw_input('Please enter a number: ')
num_array.append(inputnum)
while inputnum != 0:
inputnum = raw_input('Please enter a number: ')
num_array.append(inputnum)
for i in range(len(num_array) - 1):
print(num_array[i] + ' + ')
print(num_array[total - 1] + ' = ' + sum(num_array))
尝试检查:
num_array = []
# raw_input return value as string,int convert it to string.
inputnum = int(raw_input('Please enter a number: '))
num_array.append(inputnum)
# earlier check for string '0' to interger 0 so the condition returned true but now int() converted inputnum to integer.
while inputnum != 0:
inputnum = int(raw_input('Please enter a number: '))
num_array.append(inputnum)
for i in range(len(num_array) - 1):
print("%d +" % num_array[i])
# sum() gave exception because earlier num_array had string type but int() converted all the value to integer.
print("%d = %d" % (num_array[len(num_array) - 1],sum(num_array)))
试用
while inputnum != '0':
因为raw_输入函数返回的是字符串,而不是整数。但是,如果您的输入数需要是整数,则按照上述解决方案进行操作。
raw\u input
返回一个字符串'0'!=0
。我想有人在学习Python之前学过PHP:)如上所述,原始输入返回一个字符串“0”。您可以添加一些解释吗?只有代码的答案不是很有帮助,很公平。假设我的回答是直观的,那是个错误