我需要编写一个将计时器输出为输出的函数(所有内容都同时显示)。但是,我需要写“准备好了吗?”一开始,所以我只希望打印一次。
这是我到目前为止的内容:
def factorial(i):
while i > 0:
print(i)
return (factorial(i-1))
print('Go!')
factorial(5)
我希望函数像这样打印输出:
Ready?
5
4
3
2
1
Go!
您可以使用inner function:
def factorial(i):
def recursive_output(i):
if i > 0:
print(i)
recursive_output(i-1)
print("Ready!")
recursive_output(i)
print("Go!")
您可以在函数中添加参数
FIRST_TIME = True
NOT_FIRST_TIME = False
def factorial(i, is_first_time):
if is_first_time:
print('Ready?')
if i:
print(i)
return (factorial(i-1, NOT_FIRST_TIME))
print('Go!')
factorial(5, FIRST_TIME)