为什么这个while循环不能在输入“0”后退出?

2024-03-28 17:12:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将用户输入插入列表,直到用户输入“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))

Tags: 用户密码number列表forinputrawarray
2条回答

尝试使用

while inputnum != '0':

因为原始输入函数返回的是字符串,而不是整数。但是,如果您的输入数需要是整数,那么请遵循上述解决方案。你知道吗

尝试检查:

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)))

相关问题 更多 >