2012-04-05 4 views
1

Ich arbeite an einer Hausaufgabe, dass ein Benutzer einen Grad Prozentsatz eingeben wird und es wird eine Briefnote ausgeben. Mein Problem ist, dass ich den Benutzer nur auf die Zifferntasten und einen Dezimalpunkt beschränken möchte. Wenn der Benutzer etwas anderes eingibt, wird eine Fehlermeldung angezeigt und er kann erneut Eingaben vornehmen. Hier ist mein Code, der ohne die Dezimalzahl funktioniert, aber ich brauche den Int float. Bitte helfen Sie! Jede Rückmeldung wird sehr geschätzt werden !!So erstellen Sie eine Fehlerschleife, die den Benutzer darauf beschränkt, nur eine Zahl und einen Dezimalpunkt einzugeben.

def percentLoop() 
    while True: 
    a = input('Enter a percent: ') 
    try: 
     number = int(a) 
     if (0< number <= 100): 
      return number 
     else: 
      print ('Enter a percent between 0 and 100.') 
    except: 
     print ('Please enter a percent between 0 and 100.') 

Danke für das Betrachten, was ich habe.

+1

Siehe [this] [1], um zu prüfen, ob der Eingang den gewünschten Typ hat. [1]: http://stackoverflow.com/questions/354038/how-do-i-check-if-a-string-is-a-number-in-python – Greg

Antwort

0

Ich habe Python seit Ewigkeiten nicht gemacht, aber ist es nur eine Frage der Änderung number = int(a) zu number= float(a)?

+0

Leider ist es nicht Der Link, den Greg oben gepostet hat, hat mich sehr nahe gebracht. Ich habe jetzt Probleme, die Schleife zu vervollständigen. – billabrian6

Verwandte Themen