Перейти к содержимому

Как сложить все числа в цикле python

  • автор:

Цикл for в Python

Цикл в любом языке программирования — это многократное выполнение одного и то же действия. Цикл for проходится по данной последо­ватель­ности элементов. Он состоит из двух компонент: переменной (переменных) цикла и итерируемой (перебираемой) последовательности. Приведу пример:

for i in ‘one’ , ‘two’ , ‘three’ :
print (i)
# one
# two
# three

Приведу еще несколько примеров:

for i in ‘1’ , ‘hello’ , 2 , 1990 , True, False:
print (i)
for j in ‘orange’ , ‘red’ , ‘purple’ :
print (j)
for k in ‘first’ , ‘last’ :
print (k)

Функция range()

Теперь пришло время познакомиться с встроенной в Python функцией range(). «range» переводится как «диапазон». Она может принимать один, два или три аргумента. Если задан только один, то генерируются числа от 0 до указанного числа, не включая его. Если заданы два, то числа генерируются от первого до второго, не включая его. Если заданы три, то третье число – это шаг. Рассмотрим случай с одним аргументом:

for number in range ( 5 ):
print (number)
for number in 0 , 1 , 2 , 3 , 4 :
print (number)

Напечатаются числа от 0 до 4. Это связано с тем, что функция range с одним аргументом генерирует диапазон от 0 до n-1, где n — это переданный аргумент.

Передадим в функцию два аргумента: 5 и 10. В этом случае range cгенерирует последовательность чисел от 5 до 9.

for el in range ( 5 , 10 , 2 ):
print (el)

Если передать в range три аргумента: 5, 10, 2, то мы получим последовательность от 5 до 10 с шагом в 2

for el in range ( 5 , 10 ):
print (el)

Перебор строк и функция len()

С помошью цикла for мы можем перебрать любую последовательность, например, строку:

for letter in ‘hello’ :
print (letter)
for l in ‘python’ :
print (l)

Любая последовательность имеет длину, это означает, что мы можем ее посчитать

Примеры решения задач

1. Посчитать сумму чисел от 0 до number

number = int ( input ())
summa = 0
for i in range (number +1 ):
# summa = summa + i
summa += i
print (summa)

2. Посчитать сумму четных чисел от 0 до number

number = int ( input ())
summa = 0
for i in range (number +1 ):
if i % 2 == 0 :
# summa = summa + i
summa += i
print (summa)

3. Посчитать произведение чисел от 1 до number

number = int ( input ())
multi = 1
for i in range ( 1 , number +1 ):
multi *= i
print (multi)

Решение задач

1. Вывести числа от 0 до 10.

2. Вывести числа от 0 до n, где n — это случайное число или число, введенное с клавиатуры

3. Вывести нечетные числа в диапазона от 0 до n (диапазон — это последовательность чисел от 0 до n)

4. Вывести четные числа из диапазона от 0 до n.

5. Вывести числа, делящиеся на три без остатка, в диапазоне от 0 до n.

6. Вывести числа, делящиеся на три или на семь без остатка, в диапазоне от 0 до n.

7. Найти сумму всех чисел от 1 до n.

7. Найти сумму четных чисел от 1 до n.

8. Даны два целых числа a и b a . Найти сумму всех целых чисел от a до b включительно.

9. Найти сумму чисел от 1 до n, делящихся на 3 .

10. Дано целое число n. Найти сумму 1 + 1/2 + 1/3 + . + 1/n

11. Дано целое число n. Найти сумму 1 + 2 + 4 + 8 + 16 + . + 2**n
где 2**n — это 2*2*2*. *2 раз. Таким образом, 2**4 = 2*2*2*2. Операция ** называется операцией возведения в степень.

12. Дано целое число n. Найти сумму: 1.1 + 1.2 + 1.3 + . + (1 + 0.1*n)

13. Дано целое число n. Найти значение выражения 1.1 − 1.2 + 1.3 − . (N слагаемых, знаки чередуются).

14. Дано целое число n. Найти квадрат данного числа, используя для его вычисления следующую формулу: n**2 = 1 + 3 + 5 + . + (2*N − 1) После добавления к сумме каждого слагаемого выводить текущее значение суммы

15. Дано вещественное число A и целое число N (> 0). Найти A в степени N: A**N = A * A * . * A (числа A перемножаются N раз). Операцию ** не использовать.

16. По данному натуральному n ≤ 30 выведите лесенку из n ступенек, i-я ступенька состоит из чисел от 1 до i без пробелов. Посмотрите статью про ввод и вывод данных.

17. Дано целое число n. Найти сумму 1**1 + 2**2 + . + n**n .

Как в цикле while складывать на себя, при итерации?

5fcb8c130d745783923805.png

Хочу понять работу цикла.
x = 0
a = 10
while x != 10:
x += 1
a += + 5
print(x, a)
Как складывать значение во 2 столбике, саму на себя?
15 + 20 + 25 + 30 + .. и т.д и получить = общая сумма

  • Вопрос задан более двух лет назад
  • 546 просмотров

4 комментария

Простой 4 комментария

что у вас в hueta.py?
NikkoMEG @NikkoMEG Автор вопроса

TosterModerator

Модератор @TosterModerator

NikkoMEG дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац). В противном случае, ваши вопросы будут удаляться по причине тег-спама, а систематические нарушения приведут к блокировке учетной записи.

NikkoMEG @NikkoMEG Автор вопроса
Модератор, Мой последний вопрос был удален из-за неправильного тега?
Решения вопроса 1

Ну, «умножать само на себя» — понимаю. Но «складывать на себя»?
Кроме того, никакого «столбика» у вас нет, а есть просто результат выводв очередного print().
Но если вам очень хочется их просуммировать — то сделать это можно десятком разных способов, например, самым «лобовым»:

x = 0 a = 10 b=0 while x != 10: x += 1 a += + 5 print(x, a) b=b+a print (b)

Как сложить все числа выведенные циклом for?

Есть некий цикл for, который расчитывает цену лимитных ордеров, который выводит следующее:

19030.95 18973.8 18878.55 18745.2 18573.75 18364.2 18116.55 17830.8 17506.95 17145.0 

Вопрос как получить сумму всех этих чисел. Ниже сам цикл:

import math MAX_ORDERS = 10 base_order_price = 19050.00 #текущая цена монеты for i in range(MAX_ORDERS): setka = base_order_price - base_order_price * (MAX_ORDERS ** math.log(i + 1, MAX_ORDERS) * (i + 1)) / 100 / MAX_ORDERS print(setka)``` 

Отслеживать

задан 14 окт 2022 в 12:58

Online Film’s Online Film’s

5 3 3 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

используйте функцию sum — она складывает все значения в списке:

res = sum(base_order_price - base_order_price * (MAX_ORDERS ** math.log(i + 1, MAX_ORDERS) * (i + 1)) / 100 / MAX_ORDERS for i in range(MAX_ORDERS)) 

ну или по старинке с накоплением переменной:

res = 0 for i in range(MAX_ORDERS): setka = base_order_price - base_order_price * (MAX_ORDERS ** math.log(i + 1, MAX_ORDERS) * (i + 1)) / 100 / MAX_ORDERS res += setka 

Как посчитать сумму цикла?

phaggi

Начните с форматирования кода — оберните его тегом code.
А ещё добавьте до цикла переменную со значением ноль, и внутри цикла вместо печати добавляйте к той переменной значение найденного числа.
В конце выводите значение этой переменной.
Кстати, наверно можно подумать, может проверять на деление на 21?

Алан Гибизов, Вопрос как куратору тега. Может все-таки вопросы типа «как сложить числа в цикле» — удалять? Ну это же описано в любом учебнике на третьей странице! В любом курсе рассказывают на первой лекции. Ну нельзя форум помощи в решении проблем для тех кому это действительно надо превращать в форум ликбеза для лентяев, которые то-ли проспали лекцию, то-ли не все буквы еще знают, что-бы читать книги.

phaggi

Алан Гибизов @phaggi Куратор тега Python

dmshar, с одной стороны, Вы правы и это несколько раздражает.
Но, с другой стороны, надо учесть, что многие относительно молодые люди живут в мире, в котором информация находится всюду, её не надо запоминать, нужно просто запросить. Это другой мир, это та самая пресловутая игла сингулярности. И мы с вами, динозавры из мира, где люди ходили в библиотеки и сидели там в читальных залах и делали выписки — мы безнадежно отстаём.
Да, наши дубины гораздо прочнее тросточек молодых людей. Но они уже привыкли к тросточкам. Раздражающе тоненьким и бестолковым.
Нам их не переучить.
Но можно возглавить и попробовать повести за собой — хотя бы некоторых.

Ну, по крайней мере, я так думаю.

Алан Гибизов, Я на 129% поддерживаю тезис, что современное образование должно не заставлять запоминать (как было в наше время) а учить понимать суть. Только понимая можно потом быстро ПРАВИЛЬНО сформулировать вопрос в интернет и из горы шлака отсеять нужные ответы.
Я своим студентам все время повторяю — НЕ ЗАПОМИНАЙТЕ формулы, НЕ ЗАУБРИТЕ форматы, НЕ ПЫТАЙТЕСЬ запомнить ГОТОВЫЙ алгоритм. Даже определения если они перескажут своими словами — это я ценю выше чем абсолютно точное цитирования из учебника или Википедии. А на экзамене разрешаю пользоваться всем чем угодно включая Google. Думаете это спасает? Спасает тех, кто действительно научился самостоятельно думать и разбираться и все что ему нужно — найти точную формулу или набор параметров метода. А для этого надо приобрести соответствующий навык, надо САМОМУ продумать вопрос и попытаться самому построить план ответа.
Но если вместо того, что бы учиться самостоятельно думать и изучать правила умножения, при выполнении домашнего задания человек первым делом бежит на форум и задает вопрос «а сколько будет 23*12» — то он никогда не научиться ни думать самостоятельно, ни арифметику не выучит. И то, что большинство молодежи (не все, но подавляющее большинство, и не только в университете, но даже тут на форуме) идет по второму пути — пугает. Даже не общей деградацией, а тем что они просто обрекают себя проиграть в «борьбе за место под солнцем». Правда — не всем дано это понять, особенно по молодости.
Ладно, сорри за уклон в философию, оффтоп заканчиваю 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *