Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么赢了';t此while循环在“a”之后退出;0“;有人报名吗?_Python_List_While Loop - Fatal编程技术网

Python 为什么赢了';t此while循环在“a”之后退出;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”。现在,一旦我输入
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”。您可以添加一些解释吗?只有代码的答案不是很有帮助,很公平。假设我的回答是直观的,那是个错误