я хочу добавить следующее из списка, но результат только конкатенирует - PullRequest
3 голосов
/ 19 февраля 2020

Пример значения n равен 5

    n = input("Enter a No: ")
    n = "{0}+{0}{0}+{0}{0}{0}".format(n)
    n = n.split("+")
    a=n[0] 
    b=n[1]
    c=n[2] 
    n = (a + b + c) 
    print(n)

Ожидаемый результат: 615

Ответы [ 4 ]

2 голосов
/ 19 февраля 2020

Вы можете использовать это.

n = input("Enter a No: ")
n = "{0}+{0}{0}+{0}{0}{0}".format(n)
out=sum([int(i) for i in n.split('+')])

, если вы хотите добавить только первые три элемента, используйте это.

out_3=sum([int(i) for i in n.split('+')[:4]])
1 голос
/ 19 февраля 2020

Вам просто нужно добавить 1 дополнительную строку в ваш код, и он должен быть запущен.

Вам необходимо преобразовать все элементы в вашем списке в int для выполнения добавления.

Попробуйте это:

n = input("Enter a No: ")
n = "{0}+{0}{0}+{0}{0}{0}".format(n)
n = n.split("+")

n = list(map(int, n))

a=n[0] 
b=n[1]
c=n[2] 
n = (a + b + c) 
print(n)

1 голос
/ 19 февраля 2020

После разбиения n - это список строк, вы должны привести их к типу int.

n = input("Enter a No: ")
n = "{0}+{0}{0}+{0}{0}{0}".format(n)
n = n.split("+")
a=int(n[0])
b=int(n[1])
c=int(n[2])
n = (a + b + c) 
print(n)

И, если необходимо, добавить try / кроме того, чтобы правильно обрабатывать ситуации, когда будет передано недопустимое число.

0 голосов
/ 19 февраля 2020

Вот как вы должны это сделать:

n = input("Enter a No: ")
n = "{0}+{0}{0}+{0}{0}{0}".format(n)
n = list(map(int, n.split("+")))
print(sum(n))

Я использовал map , чтобы преобразовать список строк в список int и sum в суммировать все элементы списка. Я предполагаю, что вам нужно сложить все элементы вашего списка. Если вы хотите суммировать только первые три элемента, то:

a=n[0] 
b=n[1]
c=n[2] 
n = (a + b + c) 
print(n)

Примечание: Если вы используете последнюю версию Python, то n = map(int, n) вернет ошибку типа: 'map' object is not subscriptable. Вам необходимо явно преобразовать объект, возвращаемый картой, в список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...