Суммирующие элементы списка, которые размещаются только на четной позиции - PullRequest
0 голосов
/ 14 сентября 2018

Я хочу суммировать элементы списка, которые размещены только на четной позиции числа.

Это то, что у меня есть, но оно не работает.

code=input("SVP entrez le code :")
r=range(0,11,2)
sum=(sum(i) for i in r)
print(sum)

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Итак, я предполагаю, что вы начинаете с 0, если не просто использовать [2::2]

code = int(input("Enter code: "))
numbers = []
for i in (str(code)):
    numbers.append(int(i))
total = sum(numbers[::2])
print(total)
(xenial)vash@localhost:~/python$ python3.7 code.py 
Enter code: 123456
9
0 голосов
/ 14 сентября 2018

Я думаю, что вы получаете сообщение об ошибке, как показано ниже,

TypeError: 'int' object is not iterable

это потому, что вы пытаетесь суммировать каждую переменную (int) в диапазоне,

Но синтаксис sum ():

sum(iterable, start)

Если вы передадите диапазон непосредственно в метод sum, он даст вам правильный вывод, также постарайтесь не использовать sum в качестве имени для переменной, приведенное ниже изменение должно получить ответ, который вы ищете, хорошо удача

code=input("SVP entrez le code :")
r=range(0,11,2)
my_sum=sum(r)
print(my_sum)

Более подробную информацию о сумме можно найти здесь https://www.programiz.com/python-programming/methods/built-in/sum

...