nazwa „czasy” jest używana przed deklaracją globalną - ale IT jest zadeklarowane!

Koduję mały program na czas i pokazuję w uporządkowany sposób moje rozwiązania kostki Rubika. Ale Python (3) wciąż niepokoi mnie czasem używanym przed deklaracją globalną. Ale dziwne jest to, że IT IS zostało zadeklarowane od samego początkutimes = [] (tak, to jest lista), a następnie ponownie na funkcji (tam, gdzie się skarży) jaktimes = [some, weird, list] i „globalizując” toglobal times. Oto mój kod, więc możesz go analizować tak, jak chcesz:

import time

times = []

def timeit():
    input("Press ENTER to start: ")
    start_time = time.time()
    input("Press ENTER to stop: ")
    end_time = time.time()
    the_time = round(end_time - start_time, 2)
    print(str(the_time))
    times.append(the_time)
    global times
    main()

def main():
    print ("Do you want to...")
    print ("1. Time your solving")
    print ("2. See your solvings")
    dothis = input(":: ")
    if dothis == "1":
        timeit()
    elif dothis == "2":
        sorte_times = times.sort()
        sorted_times = sorte_times.reverse()
        for curr_time in sorted_times:
            print("%d - %f" % ((sorted_times.index(curr_time)+1), curr_time))
    else:
        print ("WTF? Please enter a valid number...")
        main()

main()

Każda pomoc byłaby bardzo doceniana, ponieważ jestem nowy w świecie Pythona :)

questionAnswers(5)

yourAnswerToTheQuestion