我正在尝试创建一个将添加两个列表的函数,以便如果list1为[9,1,2]而list2为[8,5,3],则将两个列表加在一起将产生一个列表。 [1,7,6,5],因为912 + 853 = 1765。
以下是我编写的代码:
def list_addition(list1,list2):
otlist1=''
otlist2=''
for items1 in list1:
otlist1+= items1
for items2 in otlist2:
otlist2+= items2
strinum = int(otlist1)+ int(otlist2)
return strinum
print(list_addition(['3','6','7'],['4','9','0']))
我不断收到此错误:
Traceback (most recent call last):
File "C:/Users/Chuck/PycharmProjects/arrayaddition/Arrays.py",line 13,in <module>
list_addition(['3','0'])
File "C:/Users/Chuck/PycharmProjects/arrayaddition/Arrays.py",line 10,in list_addition
strinum = int(otlist1)+ int(otlist2)
ValueError: invalid literal for int() with base 10: ''
我显然知道我的代码,即使它按书面形式工作也不是完整的,因为我仍然需要输入最终代码以将整数变量'strinum'转换回列表,但是我无法获得如果我的代码未能正确添加两个转换后的列表。当我分解代码并分别编写两个for循环时,将它们转换为整数并添加它们,一切正常。所以下面的代码很好:
list1=['7','6']
otlist1=''
for items1 in list1:
otlist1+= items1
print(otlist1)
ist1=['5','7','0']
otlist2=''
for items1 in ist1:
otlist2+= items1
print(otlist2)
print(int(otlist1) + int(otlist2))
但是由于某些原因,当我尝试将两个for循环放入单个函数中时,出现了错误。我是编程的新手,我想知道我对函数语法不了解的内容。任何帮助将不胜感激。