2017-02-06 2 views
2

Я пытаюсь создать функцию, которая использует вложенный цикл while, который печатает что-то вроде этого.Как использовать вложенные петли

ranges(5,2) 

5 
0 1 2 3 4 
4 
0 1 2 3 
3 
0 1 2 
2 
0 1 

мой код, который я до сих пор выглядит как этот

def ranges(high,low): 
while high >= low: 
    print(high) 
    high = high - 1 
    y = 0 
    x = high 
    while x > y: 
     print (y, end = " ") 
     y = y + 1 

Выход, как это

5 
0 1 2 3 4 
0 1 2 3 
0 1 2 
0 

Я уверен, что я пропустил в вызове вложенных в то время как цикл потому что, когда я разделяю код, чтобы просто печатать 5, ..., 2 в столбце, он работает, а также код для печати чисел в строке. Любая помощь будет здорово

ответ

1

Добавить print("") сразу после цикла в то время, и изменить состояние цикла в то время как в >=:

def ranges(high,low): 
    while high >= low: # <-- change the condition otherwise you'll miss the last number in every line 
     print(high) 
     high = high - 1 
     y = 0 
     x = high 
     while x >= y: 
      print (y, end = " ") 
      y = y + 1 
     print("") # <-- this 

ranges(5, 2)   

ВЫВОД

5 
0 1 2 3 4 
4 
0 1 2 3 
3 
0 1 2 
2 
0 1 
+0

спасибо, такой легкий вещь пропустить. – nm10563

Смежные вопросы