while True:
get2=input('Enter: ')
lst2.append(get2)
if get2=='':
break
TypeError:不支持的操作數類型爲+:'int'和'str' 發生。 我想這是因爲退出命令的''不被識別爲整數。作爲退出代碼AND make sum(list)函數的工作方式,我該如何「輸入」密鑰?python退出錯誤
while True:
get2=input('Enter: ')
lst2.append(get2)
if get2=='':
break
TypeError:不支持的操作數類型爲+:'int'和'str' 發生。 我想這是因爲退出命令的''不被識別爲整數。作爲退出代碼AND make sum(list)函數的工作方式,我該如何「輸入」密鑰?python退出錯誤
您正在附加一個字符串,然後嘗試將一堆字符串聚合在一起。
你需要將它們轉換爲整數/第一浮點數所以你必須 lst2.append(int(get2))
和lst1.append(int(get1))
或者你可以使用float
浮點數
的input
在Python 3的結果是總是一個字符串。然後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
聲明,否則進入''
會導致作爲空字符串引發的異常不是有效的整數。
這完全擺脫了錯誤。謝謝你! – Din
@Din沒問題。請記住接受幫助你的答案! –
您可能希望在將*追加到列表之前檢查輸入值*。 – chepner