Треугольник петель For / While в Python не работает - PullRequest
0 голосов
/ 17 февраля 2019

Работа над моим вторым треугольником, но он не дает мне результата, необходимого при использовании вложенного цикла while, и у меня должен быть следующий вывод:

Использование для цикла:

0
01
012
0123
01234
012345

Использованиециклы while:

     5
    45
   345
  2345
 12345
012345

код:

print('Using for loop')
print()
M = 6 #constant
cnt = 1

for i in range(0,M):
    for j in range(0,cnt):
        if(j<M):
            print(j,'',end='')
        else:
            print('',end='')
    cnt+=1
    print()
print()
print('Using While loop')
print()
cnt = 6

while(cnt != -1):
    for j in range(0,cnt-1):
        if(j<cnt+1):
            print(j,'',end='')
        else:
            print(j)
    cnt -=1
    print()
print()

мои текущие результаты ..

Использование для цикла

0
01
012
0123
01234
012345

Использование цикла пока

012345
01234
0123
012
01
0

Ответы [ 3 ]

0 голосов
/ 17 февраля 2019

у вас много синтаксических ошибок, используйте это

print('Using for loop')
print()
M = 6 #constant
cnt = 1

for i in range(0,M):
    for j in range(0,cnt):
        if(j<M):
            print(j,'',end='')
    cnt+=1
    print()
print('\nUsing While loop\n')
cnt = 0

while(cnt != M):
    for j in range(0,M-(cnt+1)):
        print(' ','',end='')
    for j in range(0,cnt+1):
        print(M-(cnt+1-j),'',end='')
    cnt +=1
    print()
print()
0 голосов
/ 20 февраля 2019

Вот решение цикла while без цикла for:

print('Using While loop')
print()
cnt = 6
v = cnt
while(cnt != -1):
    j = cnt
    print(' ' * cnt, end='')
    while(j < v):
        print(j, end='')
        j += 1

    cnt -=1
    print()
0 голосов
/ 17 февраля 2019

Ваша логика неверна.Также у вас много синтаксических ошибок.Используйте это:

print('Using While loop')
print()
cnt = 6
v = cnt
while(cnt != -1):
    print(' ' * cnt, end='')
    for j in range(cnt, v):
        if j < cnt+1:
            print(j, end='')
        else:
            print(j, end='')
    cnt -=1
    print()

Вывод :

Using While loop

     5
    45
   345
  2345
 12345
012345
...