Member 13798091 Ответов: 2

Почему на выходе получается "сумма равна 55"?


<pre># Program to illustrate a loop with condition at the top

# Try different numbers
n = 10

# Uncomment to get user input
#n = int(input("Enter n: "))

# initialize sum and counter
sum = 0 
i = 1 

while i <= n:
   sum = sum + i
   i = i+1    # update counter

# print the sum
print("The sum is",sum)


Что я уже пробовал:

Я этого не понимал,оно не щелкает вместе со мной.

Rajesh Anuhya

А ты как думаешь? Результат должен быть 555 ????..

Rajesh Anuhya

Это только правильно ..

Richard Deeming

Простая математика: сумма целых чисел из 1 к n является n × (n + 1) ÷ 2

2 Ответов

Рейтинг:
17

Patrice T

Цитата:
Почему на выходе получается "сумма равна 55"?

Хотите посмотреть, как этот код строит ответ самостоятельно ?

Шаг за шагом запускайте свой код в отладчике и проверяйте переменные.

Отладчик здесь, чтобы показать вам, что делает ваш код .
В отладчике нет никакой магии, он не знает, что вы должны делать, он не находит ошибок.

Чтобы увидеть, что делает ваш код: просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.
Отладчик - Википедия, свободная энциклопедия[^]
27.3. ПДБ — отладчика Python — питон 3.6.1 документации[^]
Отладка в Python | Python покоряет Вселенную[^]
pdb – интерактивный отладчик - Python модуль недели[^]
Отладчик здесь только для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.


Рейтинг:
10

OriginalGriff

Потому что это то, что вы сказали ему сделать!
Смотрите на значения в конце каждый раз, когда вы идете по кругу:

 i Sum
 2   1
 3   3
 4   6
 5  10
 6  15
 7  21
 8  28
 9  36
10  45
11  55
The sum is 55


Member 13798091

да, я получил его, большое вам спасибо.
это было то, что мне действительно нужно.

OriginalGriff

Всегда пожалуйста!