Python 3.x функция вычисления дальности сумма Einrückung - PullRequest
0 голосов
/ 11 декабря 2018

Код Python:

b=0
for x in range (4): 
    a=b+x 
print (a)

Почему результат 3, а не 6, то есть 0 + 1 + 2 + 3?

Ответы [ 3 ]

0 голосов
/ 11 декабря 2018

Основная проблема, которую вы всегда обновляете а не суммируете свои значения и нет необходимости b=0:

a = 0
for x in range (4): 
    a+=x 
print (a)
0 голосов
/ 11 декабря 2018

Поскольку вы каждый раз переназначаете значение a.

Ваш код эквивалентен следующему:

b=0
x=0 
a=b+x # a = 0 +0
x=1
a=b+x # a = 0 + 1
x=2
a=b+x #a = 0 + 2
x=3
a=b+x #a = 0 + 3
print (a) # 3 is the final value of a

Я думаю, что вы хотели сделать следующее:

a=0
for x in range(4):
    a += x # or equivalently a = a+x
print(a)

Я не понимаю, почему вы использовали также переменную b.

Обратите внимание также на более компактное решение:

a = sum(range(4))
0 голосов
/ 11 декабря 2018

Это потому, что вы устанавливаете a в значение b, равное 0 плюс x, каждый раз, когда вы вызываете его, вы перезаписываете значение a, я переписываю ваш код и надеюсь, что это поможет.

b=0 #Sets the value of b to 0
for x in range(4): #this will run the code below 4 times
    b=b+x #makes b equal to itself, plus the vaue of x.

print(b) #outputs the value of b
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...