Как вывести общую сумму в l oop? - PullRequest
1 голос
/ 19 июня 2020

Допустим, я хочу узнать общую сумму списка от 0 до 100, что составляет 5050? Я oop просматривал свой список:

c=0
for i in range(0,101):
   c+=i
   print(c)

Проблема в том, что мне нужен только последний элемент, а не все.

Ответы [ 4 ]

2 голосов
/ 19 июня 2020

Вы печатаете значение переменной «c» в l oop. Чтобы напечатать только сумму, удалите отступ «print (c)». И вы делаете «= +», но вы должны сделать «+ =», чтобы получить сумму.

c=0
for i in range(0,101):
   c+=i 
print(c)
1 голос
/ 19 июня 2020

Для этого есть функция python - sum

print(sum([x for x in range(1, 101)]))

Изменить: чтобы устранить проблему «изо всех сил, чтобы понять»

[x for x in range(1, 101)] называется составлением списка . Они используются для создания списков в единственной строке, без использования for циклов - python может быть в конце концов функциональным языком программирования. [x for x in range(1, 101)] возвращает список от 1 до 100, то есть-

[1, 2, 3, 4, 5, ......., 99, 100]

Мы пропускаем 0, потому что он все равно не учитывается в сумме.

Теперь, если вы это сделаете sum() в этом списке он вернет сумму всех элементов в списке .

Следовательно, sum([for x in range (1, 101)]) возвращает сумму всех чисел от 1 до 100 (включительно) и print напечатает окончательный результат.

Зачем использовать много строк, когда мало трюков? :)

Помните, Список Понимание и sum() - два очень важных инструмента в наборе инструментов python, каждый должен знать об этих 2.

1 голос
/ 19 июня 2020

Просто измените отступ при печати. ​​

Попробуйте следующий код,

c=0
for i in range(0,101):
   c+=i
print(c)
0 голосов
/ 19 июня 2020

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

c=0
for i in range(0,101):
   c+=i
   print(c)

Он напечатает всю сумму, потому что она находится внутри для l oop в соответствии с текущим отступом, но если вам нужен только окончательный вывод, измените отступ оператора печати, как показано ниже

c=0
for i in range(0,101):
   c+=i
print(c)

Теперь его нет внутри для l oop, он будет печатать только окончательное значение от суммы (c).

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