Je suis en train de coder un petit programme pour chronométrer et montrer, d'une manière ordonnée, mes solvats de Rubik's cube. Mais Python (3) ne cesse de me déranger sur les temps d'utilisation avant la déclaration globale. Mais ce qui est étrange, c'est qu'il est déclaré, dès le début, comme times = []
(oui, c'est une liste) et encore une fois, sur la fonction (c'est là qu'il se plaint) comme times = [some, weird, list]
et "globalisation" avec global times
. Voici mon code, vous pouvez l'analyser comme vous voulez:Le nom 'times' est utilisé avant la déclaration globale - Mais IL EST déclaré!
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()
Toute aide serait très apprécié que je suis nouveau dans le monde de Python :)
Dites-le! Maintenant, quand je choisis l'option 2 pour me montrer mes résultats, ceci apparaît: AttributeError: L'objet 'NoneType' n'a pas d'attribut 'reverse', faisant référence à sorted_times = sorte_times.reverse() – AntonioPT
C'est parce que 'times.sort()' renvoie 'Aucun'. Vous devriez utiliser 'times.sort(); print times' ou 'print trié (times)'. –
Merci! MAINTENANT ça a marché ^^ – AntonioPT