是否可以让Python先读取一个函数?

时间:2018-07-13 07:33:16

标签: python python-3.x function

我只是想知道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()

2 个答案:

答案 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保存在其自己的模块中,然后将其导入循环文件的顶部。

实际上,导入的模块首先在导入时执行。