while True:
get2=input('Enter: ')
lst2.append(get2)
if get2=='':
break
TypeError:+:' int'不支持的操作数类型和' str' 发生。 我认为这是因为''对于exit命令,不会将其识别为整数。我如何使用回车键作为退出代码并使总和(列表)功能起作用?
答案 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
语句,因为否则输入''
将导致异常被抛出,因为空字符串不是有效整数。