Я новичок, пытающийся выучить Python у Автоматизировать скучный материал с Python от Al Sweigart, и я наткнулся на его блок кода, чтобы ответить на математическую задачу: «Какова сумма всех чисел? от 0 до 100? Очевидно, это был вопрос, который Гаусс получил, когда его учитель хотел занять его.
Sweigart использовал петлю for
и функцию range()
, чтобы получить ответ:
total = 0
for num in range(101):
total=total+num
print(total)
На странице позже он заявляет, что «вы можете использовать цикл while для того же, что и цикл for; циклы for более лаконичны».
Как бы этот оператор отображался в цикле while?
Я попытался заменить for
на while
, но получил ошибку: "имя 'num' не определено". Я также попытался настроить математическое уравнение суммирования, используя другой блок кода из другого форума, но полностью потерялся.
print('Gauss was presented with a math problem: add up all the numbers from 0 to 100. What was the total?')
a=[1,2,3,4,5,...,100]
i=0
while i< len(a)-1:
result=(a[i]+a[i+1])/2
print(result)
i +=1
Затем я попытался настроить i
в уравнении, которое зациклилось бы, пока каждое число не было добавлено, но застряло.
print('Gauss was presented with a math problem: add up all the numbers from 0 to 100. What was the total?')
i=0
while i<101:
i=i+1
a=i
Будет ли утверждение while слишком сложным, чтобы оправдать усилия?