繁体   English   中英

如何修复我的递归倒计时 python 函数的代码,以便它只打印“LIFT OFF!” 一次?

[英]How do I fix my code for my recursive countdown python function so that it only prints “LIFT OFF!’ once?

#!/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!”)

这应该有效:

#!/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!
>>> 

如果你只是想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()函数只做一件事,即在延迟后打印数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM