python中的退出错误

时间:2016-04-03 15:59:59

标签: python

while True:
   get2=input('Enter: ')
   lst2.append(get2)
   if get2=='':
       break

TypeError:+:' int'不支持的操作数类型和' str' 发生。 我认为这是因为''对于exit命令,不会将其识别为整数。我如何使用回车键作为退出代码并使总和(列表)功能起作用?

2 个答案:

答案 0 :(得分:2)

你附加一个字符串,然后尝试总结一堆字符串togethers。

您需要先将它们转换为整数/浮点数,以便您拥有 lst2.append(int(get2))lst1.append(int(get1))

或者您可以将float用于浮点数

答案 1 :(得分:2)

Python 3中input的结果总是一个字符串。 sum函数然后尝试将列表中的每个项目一起添加,从0开始,因此它尝试执行此操作:

0 + your_list[0]

但是,列表的第一项是字符串,您无法在字符串中添加整数。

要解决此问题,请先使用int函数将输入转换为整数:

print('Enter a series of integers. Hit enter to quit')
lst1=[]
lst2=[]

while True:
    get1=input('Enter: ')
    if get1=='':
        break
    lst1.append(int(get1))



while True:
   get2=input('Enter: ')
   if get2=='':
       break
   lst2.append(int(get2))


if sum(lst1)==sum(lst2):
   print('The two lists add up the same')
else:
   print('The two lists do not add up')

请注意,我在整数转换之前移动了if语句,因为否则输入''将导致异常被抛出,因为空字符串不是有效整数。