list = [3,4,5,6]
a = 4
for x in list:
if x <= 4:
a += x
print (a)
# может кто-нибудь объяснить, какие шаги и как я получил ответ 11, когда я печатаю?
Что вы ожидаете от a
?
a
начинается как 4
. Затем вы добавляете каждое целое число в вашем списке, которое меньше или равно 4
, к a
. Итак, 4 + 3 + 4 == 11
Если вы используете VSCode или Pycharm, у вас есть опция Отлаживать, чтобы понять, что происходит на каждом этапе. Давайте отладим это:
a = 4
первая петля:
x = 3
и добавляется к переменной a
, которая была 4
, так что a = 4 + 3
и теперь a = 7
вторая петля:
x = 4
и равно 4, так что добавляем в a
переменную, которая была 7
, значит a = 7 + 4
и теперь a = 11
третья и четвертая петли:
x = 5
и x = 6
и они меньше 4, поэтому ничего не происходит.
и наконец a is 11
Я использую PyCharm, где находится вариант дебюта?
list = [3,4,5,6]
a = 4
for x in list:
Первая итерация, где x=3
if x<=4 === if 3<=4:
condition True, if block is executed value a will
a+=x ==== a=a+x
a=4+3 === a=7
Вторая итерация, где x=4
if x<=4 === if 4<=4:
condition True , if block is executed value a will
a+=x ==== a=a+x
a=7+4 === a=11
Третья итерация, где x=5
if x<=4 === if 5<=4:
condition False
Четвертая итерация, где x=6
if x<=6 === if 6<=4:
condition False
В списке больше нет значений, поэтому цикл for завершится
print (a)
O/P --- 11
спасибо большое, все понятно и доступно объяснили
4 + 3 + 4 = 11