напишите программу для добавления двух списков, ввод A=[1,2,3] ,B=[9,4,1] , вывод = [1,0,6,4].. т. е. 123 941 = 1064

#python-3.x

Вопрос:

«Приведенный ниже код отлично работает,когда я даю ввод, например, 1,2,3 и 4,5,6 в редакторе codeforces, но как я могу принимать ввод, например [1,2,3] и [4,5,6] . Пожалуйста, помогите мне, спасибо вам :)»‘

 list1 = list(map(int,input().split(',')))  list2 = list(map(int,input().split(',')))  slist1 = [str(i) for i in list1]  slist2 = [str(i) for i in list2]  slist1_join = "".join(slist1)  slist2_join = "".join(slist2)  total = int(slist1_join)   int(slist2_join)  final = list(str(total))  final1 = [int(i) for i in final]  print(final1)  

Комментарии:

1. Пожалуйста, отформатируйте свой код как код.

2. Итак, вы хотите, чтобы пользователь вводил список в скобках [1,2,3] , а не только значения 1,2,3 ?

3. да, не могли бы вы, пожалуйста, помочь мне с этим

4. Мы не фабрика по изготовлению домашней работы. Пожалуйста, прочтите учебник. Мы помогаем.

Ответ №1:

Это можно сделать с помощью eval() функции.

 list1 = eval(input()) list2 = eval(input()) slist1 = [str(i) for i in list1] slist2 = [str(i) for i in list2] slist1_join = "".join(slist1) slist2_join = "".join(slist2) total = int(slist1_join)   int(slist2_join) final = list(str(total)) final1 = [int(i) for i in final] print(final1)  

Выход

 [1,2,3] [4,5,6] [5, 7, 9]  

Комментарии:

1. Я полагаю, что это работает лучше, чем мой ответ 🙂

2. Ваш работает только для [1,2,3] . Использование eval() позволяет использовать [1,2,3] и 1,2,3 в качестве входных данных. 🙂

3. Спасибо… : )

Ответ №2:

 list1 = list(map(int,input()[1:][:-1].split(',')))  list2 = list(map(int,input()[1:][:-1].split(',')))  

[1:] Будет удален первый символ ( « [ » ), и [:-1] будет удален последний символ (« ] «). Обратите внимание, что это также будет принимать входные данные, такие как» a6,8,5% «, и работать с ними правильно.

Комментарии:

1. Спасибо… 🙂