Hallo. Ich muss als Aufgabe ein Programm schreiben wo man eine Fraktion eingeben kann x/y und dann soll es das Ergebnis printen. Und falls man bei der Fraktion was falsch eingegeben hat soll das Programm einfach solange erneut nach einer Fraktion fragen bis sie gültig ist.
def main():
Fraction = get_fraction()
print(Fraction)
def get_fraction():
while True:
Fraction = input("Fraction: ")
try:
numerator, denominator = Fraction.split("/")
p = int((int(numerator) / int(denominator)) * 100)
if p <= 1:
return ("E")
elif p >= 99:
return ("F")
else:
return (f"{p}%")
except (ValueError, ZeroDivisionError):
pass
main()
Wie baue ich jetzt ein, dass das Programm nicht nur bei zerodivisionerror oder valueerror erneut nach einer Fraktion, sondern auch wenn der numerator größer als der denominator ist?
Danke im Voraus für Antworten!