Как мне исправить мой код для моей рекурсивной функции обратного отсчета python, чтобы она выводила только «LIFT OFF!» один раз? - PullRequest
1 голос
/ 22 марта 2020
#!/usr/bin/env python

import time

def countdown(num):
  if num <= 0:
    return num
  else:
    time.sleep(0.1)
    print(num)
    countdown(num - 1)
    print(“LIFT OFF!”)

Ответы [ 2 ]

2 голосов
/ 22 марта 2020

Это должно работать:

#!/usr/bin/env python

import time

def countdown(num):
  if num <= 0:
    print('LIFT OFF!')
    return num
  else:
    time.sleep(0.1)
    print(num)
    countdown(num - 1)

вот вывод:

>>> countdown(4)
4
3
2
1
LIFT OFF!
>>> 
0 голосов
/ 22 марта 2020

Если вы хотите, чтобы lift off печатался только один раз, напечатайте его один раз:

import time

def countdown(num):
  if num <= 0:
    return num
  else:
    time.sleep(0.1)
    print(num)
    countdown(num - 1)

countdown(5)
print('LIFT OFF!')

Вывод:

5
4
3
2
1
LIFT OFF!

Теперь функция countdown() выполняет только одну функцию, который печатает номера после задержки.

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