Не могу понять, почему этот код Python не работает - PullRequest
0 голосов
/ 09 декабря 2018

Я новичок в программировании на Python.Почему этот код не работает?

# Print out 2,5,8,11 using `for` loop and `range()`.
for x in range (2,12):
  print (x)
  x=x+3

Я знаю, что следующее заставит программу работать

# Print out 2,5,8,11 using `for` loop and `range()`.
for x in range (2,12,3):
  print (x)

Но я не могу понять, почему первый не даетжелаемый результат, тогда как эквивалентный код будет работать на C ++ / C.

Ответы [ 2 ]

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

Вы не можете увеличить значение x при использовании функции range () .Есть два способа получить желаемый результат.

Первый метод:

печать [x для x в диапазоне (2,12,3)]

Второй метод:

для x в диапазоне (2, 12, 3):
print (x)

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

Даже если вы попытаетесь увеличить x как x=x+3, оно изменяется на каждой итерации и принимает новое значение от 2 до 12, в зависимости от того, сколько итераций было выполнено (если циклв 4-м цикле, тогда x будет обновлен как 4 в начале 4-го цикла).Даже если вы поместили x=x+3 перед оператором print, он просто напечатает "iteration + 3"

for x in range (2,12):
print (x)
x=x+3

Так что этот код будет выдавать выводкак это;

5 6 7 8 9 10 11 12 13 14

Таким образом, нет способа обновить x, а затем использовать эту обновленную версию в следующемитерация, когда вы используете для цикла в Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...