Ich versuche, die Stunden und Minuten vom Benutzer zu bekommen, aber wenn ich eine alphanumerische Zahl eingeben, die den Bereich überschreitet, den der Benutzer erlaubt hat, gibt der Benutzer einen None-Wert zurück. Ich versuche nur die Nummer vom Benutzer zu bekommen. Ich weiß, dass die Lösung offensichtlich ist, aber aus irgendeinem Grund kann ich es nicht herausfinden.Warum gibt Python keine zurück?
def get_hours():
h = input("Hour:")
try:
if len(h) == 0:
return 0
else:
h = int(h)
if 0 <= h <= 24:
print(h)
print(type(h))
return h
else:
print("Enter Hours between 0 and 24")
get_hours()
except ValueError:
print("Enter Hour example = 16")
get_hours()
def get_mins():
m = input("Minutes:")
try:
if len(m) == 0:
return 0
else:
m = int(m)
if 0 <= m <= 60:
print(m)
print(type(m))
return m
else:
print("Enter minutes between 0 and 60")
get_mins()
except ValueError:
print("Enter Minutes example = 23")
get_mins()
def get_activity():
flag = True
while flag:
ui = input("Enter a brief summary of what you will be doing? \n:")
if len(ui) == 0:
flag = True
else:
return ui
def main():
data = []
time = []
activity = []
hour = get_hours()
print(type(hour))
print("Hours: " +str(hour))
while hour == None:
hour = get_hours()
mins = get_mins()
print(type(mins))
print("Mins: " + str(mins))
while mins == None:
mins = get_mins()
main()
Dies ist, was ich will:
Hours: 10
Minutes: 53
Dies ist, was ich bekommen, wenn die folgenden Eingänge enterd sind
Hour:1a
Enter Hour example = 16
Hour:231
Enter Hours between 0 and 24
Hour:2
2
<class 'int'>
<class 'NoneType'>
Hours: None
Hour:2a
Enter Hour example = 16
Hour:2
2
<class 'int'>
Hour:2a
Enter Hour example = 16
Hour:2
2
<class 'int'>
Hour:2
2
<class 'int'>
Minutes:2a
Enter Minutes example = 23
Minutes:222
Enter minutes between 0 and 60
Minutes:2a
Enter Minutes example = 23
Minutes:2
2
<class 'int'>
<class 'NoneType'>
Mins: None
Minutes:2
2
<class 'int'>