Ich bin neu in der Programmierung und möchte einen Zähler hinzufügen, der alle zwei Sekunden 1 von Ihrem Punktestand abzieht. (So dass ich schnell Antwort auf meine Punktzahl zu erhöhen machen)Timer ohne Threading in Python?
chr
import random
import time
radians2 = None
ans = None
score = 0
radians1 = ['0', 'π/6', 'π/3', 'π/4', 'π/2', '2π/3', '3π/4', '5π/6', 'π', '7π/6', '4π/3', '5π/4', '3π/2', '5π/3', '7π/4', '11π/6', '2π']
while radians2 == ans or ans == None:
radians3 = (random.choice(radians1))
ans = input(radians3)
if radians3 == '0':
radians2 = 0
elif radians3 == 'π/6':
radians2 = 30
elif radians3 == 'π/3':
radians2 = 60
elif radians3 == 'π/4':
radians2 = 45
elif radians3 == 'π/2':
radians2 = 90
elif radians3 == '2π/3':
radians2 = 120
elif radians3 == '3π/4':
radians2 = 135
elif radians3 == '5π/6':
radians2 = 150
elif radians3 == 'π':
radians2 = 180
elif radians3 == '7π/6':
radians2 = 210
elif radians3 == '4π/3':
radians2 = 240
elif radians3 == '5π/4':
radians2 = 225
elif radians3 == '3π/2':
radians2 = 270
elif radians3 == '5π/3':
radians2 = 300
elif radians3 == '7π/4':
radians2 = 315
elif radians3 == '11π/6':
radians2 = 330
elif radians3 == '2π':
radians2 = 360
score = score + 1
if radians2 == ans:
print('Correct!')
print "You've got %d in a row" % score
print "You lose, the correct answer was %d" % radians2
Sorry, wenn der Code chaotisch/lang ich herausgefunden, dass ich will etwas im Grunde laufen wie:
while 1:
time.sleep(2)
score = score - 1
Der Das einzige Problem ist, dass es nicht gleichzeitig mit dem Rest des Programms läuft und Threading (was die Alternative zu sein scheint) ist sehr verwirrend für mich.
Entschuldigung, aber "gleichzeitig" bedeutet, dass Sie Threading benötigen. Und ja, Threading kann verwirrend sein, aber es ist noch schlimmer, sich darauf einzulassen. –
Die Alternative zum Threading - eine Hauptschleife - ist wahrscheinlich viel verwirrender. Threading ist gar nicht so schwer. –
um, können Sie nicht einfach die Zeit messen ('time.clock()' oder 'datetime.datetime.now()'), bevor Sie den Benutzer fragen und danach erneut? Der Unterschied ist die Zeit, die sie brauchen, um zu antworten, es gibt keine Notwendigkeit für Threads oder Schleifen hier. –