Вложенный цикл while в Python - PullRequest
       24

Вложенный цикл while в Python

2 голосов
/ 14 сентября 2009

Я новичок в программировании на Python. Я написал следующую программу, но она не выполняется так, как я хочу. Вот код:

b=0
x=0
while b<=10:
    print 'here is the outer loop\n',b,
    while x<=15:
        k=p[x]
        print'here is the inner loop\n',x,
        x=x+1
    b=b+1

кто-нибудь может мне помочь ?? Я буду действительно благодарен! С Уважением, Гилани

Ответы [ 4 ]

24 голосов
/ 14 сентября 2009

Не уверен, в чем ваша проблема, может быть, вы хотите поместить это x=0 прямо перед внутренним циклом?

Весь ваш код не выглядит удаленно, как код Python ... такие циклы лучше делать так:

for b in range(0,11):
    print 'here is the outer loop',b
    for x in range(0, 16):
        #k=p[x]
        print 'here is the inner loop',x
11 голосов
/ 14 сентября 2009

Поскольку вы определили x вне внешнего цикла while, его область действия также находится вне внешнего цикла, и после каждого внешнего цикла он не сбрасывается.

Чтобы исправить это, переместите определение x во внешнем цикле:

b = 0
while b <= 10:
  x = 0
  print b
  while x <= 15:
    print x
    x += 1
  b += 1

более простой способ с простыми границами, такой как это, для циклов:

for b in range(11):
  print b
  for x in range(16):
   print x
0 голосов
/ 09 августа 2016

Вам необходимо сбросить переменную x после обработки внутреннего цикла. В противном случае ваша внешняя петля будет проходить без внутреннего цикла.

b=0
x=0
while b<=10:
    print 'here is the outer loop\n',b,
    while x<=15:
        k=p[x] #<--not sure what "p" is here
        print'here is the inner loop\n',x,
        x=x+1
x=0    
b=b+1
0 голосов
/ 14 сентября 2009

При запуске вашего кода я получаю сообщение об ошибке, если "'p' не является определением", что означает, что вы пытаетесь использовать массив p, прежде чем что-либо в нем будет.

Удаление этой строки позволяет запускать код с выводом

here is the outer loop
0 here is the inner loop
0 here is the inner loop
1 here is the inner loop
2 here is the inner loop
3 here is the inner loop
4 here is the inner loop
5 here is the inner loop
6 here is the inner loop
7 here is the inner loop
8 here is the inner loop
9 here is the inner loop
10 here is the inner loop
11 here is the inner loop
12 here is the inner loop
13 here is the inner loop
14 here is the inner loop
15 here is the outer loop
1 here is the outer loop
2 here is the outer loop
3 here is the outer loop
4 here is the outer loop
5 here is the outer loop
6 here is the outer loop
7 here is the outer loop
8 here is the outer loop
9 here is the outer loop
10
>>> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...