#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. Спасибо… 🙂