Добавление списка в python - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь создать функцию, которая будет добавлять два списка, так что если 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','6','7'], ['4','9','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','9','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 в одну функцию, я получаю ошибку. Я - новичок в программировании, и я хочу знать, чего я не понимаю в синтаксисе функций. Любая помощь будет принята с благодарностью.

...