Estoy programando un pequeño programa para el tiempo y mostrar, de manera ordenada, mis soluciones de cubo de Rubik. Pero Python (3) me sigue molestando sobre los tiempos que se usan antes de la declaración global. Pero lo que es extraño es que se declara, al principio, como times = []
(sí, es una lista) y luego de nuevo, en la función (que es donde se queja) como times = [some, weird, list]
y "globaling" con global times
. Aquí está mi código, por lo que puede analizar como quiera:el nombre 'tiempos' se usa antes de la declaración global, ¡pero SE HA DECIDIDO!
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()
Cualquier ayuda sería muy apreciada como soy nuevo en el mundo de Python :)
¡Maldita sea! Ahora, cuando elijo la opción 2 para mostrar mis resultados, aparece: AttributeError: el objeto 'NoneType' no tiene atributo 'reverse', refiriéndose a sorted_times = sorte_times.reverse() – AntonioPT
Eso es porque 'times.sort()' regresa 'Ninguno'. Debería usar 'times.sort(); tiempos de impresión' o 'impresión ordenada (tiempos)'. –
Gracias! AHORA funcionó ^^ – AntonioPT