#python #python-3.x #function #loops #for-loop
#python #python-3.x #функция #циклы #для цикла
Вопрос:
У меня есть два цикла FOR, которые могут нормально выполняться по отдельности. Когда я пытаюсь запустить их вместе в одной функции, выполняется только первый цикл.
Мой код выглядит следующим образом:
def loop_code():
for x in range(10):
x -= 1
print(x)
for y in range(10):
y = 1
print(y)
loop_code()
вывод:
-1
0
1
2
3
4
5
6
7
8
Мне нужно вывести это вместо:
-1
0
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
9
10
Спасибо за вашу помощь!
Комментарии:
1. Ваш код, похоже, работает так, как должен. Проверьте это , возможно, проблема не связана с вашим кодом напрямую. Предоставьте больше информации о вашей системе, IDE и / или о том, как вы запускаете свой код
2. Код работает нормально! В чем проблема?
3. ознакомьтесь с определением функции range(). изменение настолько простое, насколько
range(12)
можно было бы сделать. (подумайте об этом, вам нужно 12 экземпляров!)
Ответ №1:
Это не элегантный способ делать вещи. Изменение вашей индексной переменной во время цикла for нарушает интерес к указанному циклу for. Если вы хотите, чтобы цикл переходил от -1 к 8, используйте:
for index in range(-1,9)
Затем, если вы хотите, чтобы ваш второй цикл for имел индекс от 1 до 10, используйте:
for other_index in range(1,11)
Ваш вопрос может потребовать некоторого разъяснения. Я помогаю вам получить желаемый результат, но здесь может возникнуть некоторая проблема с XY. Есть ли особая причина, по которой вы хотели изменить свой индекс в цикле for?
Комментарии:
1. Это общий неспецифический вопрос о циклах FOR внутри функций в python. У меня есть более сложный код, который требует выполнения двух определенных циклов путем вызова функции. Знаете ли вы лучший способ выполнения этого действия?
Ответ №2:
ознакомьтесь с определением функции range(). изменение настолько простое, насколько range(12)
можно было бы сделать. (подумайте об этом, вы хотите 12 итераций!)