我只是想知道Python中是否存在这样的功能。
我的代码:
import time
def loop():
global x
x=int(input("Time for:"))
timer()
def timer():
global x
for n in range(0,(x)):
time.sleep(1)
print (x)
x=x-1
print("Times Up"+"\n")
loop()
print("Clock's Ticking")
loop()
我能否使Python在timer()
之前读loop()
答案 0 :(得分:1)
也可以通过不将全局变量x
设置为变量,而仅通过值传递变量来解决此问题:
def timer(x):
for n in range(x, 0, -1):
time.sleep(1)
print(n)
print("Times Up"+"\n")
def loop():
x = int(input("Time for:"))
timer(x)
#... loop() ... as many times as you want
不需要全球化,需要更多的Python语言-实际上,这也是您在C语言中所做的,因为变量的范围可能变得混乱。
此外,您可以按照上面的顺序向后遍历范围序列(假设x
是非负整数)。
答案 1 :(得分:0)
简短地将timer
放在loop
上方,您可以将timer
保存在其自己的模块中,然后将其导入循环文件的顶部。
实际上,导入的模块首先在导入时执行。