2016-08-29 3 views
-3

Hier ist mein Code:speichern Eingang() in die Variable (Python)

def chose_range(): 
    while True: 
     choice = int(input("Choose the range 100 or 1000:")) 
     if choice == 100: 
      n = 100 
      break 
     elif choice == 1000: 
      n = 1000 
      break 
     else: 
      print('Error, enter the right number') 

     return n 

I Ergebnis dieses Befehls in die Variable gespeichert werden soll. Wie kann ich das in Python 3 tun?

+2

Fragen Sie "Wie rufe ich eine Funktion"? Versuchen Sie 'some_variable = choose_range()'. Arbeitest du mit einem Tutorial? Lies nur ein bisschen weiter und ich bin mir sicher, dass es das abdecken wird. – Kevin

+1

Wie unterscheidet sich das Ergebnis von Ihren Erwartungen? – syntonym

+0

Sie können dies hilfreich finden: [Den Benutzer zur Eingabe auffordern, bis er eine gültige Antwort gibt] (http://stackoverflow.com/questions/23294658/asking-the-user-for-input-until-they-give-a -valid-response) –

Antwort

2

Nicht innerhalb Ihrer while-Schleife, die Sie brechen (Sie haben einen Einzug zu viel).

def chose_range(): 
    while True: 
     choice = int(input("Choose the range 100 or 1000:")) 
     if choice == 100: 
      n = 100 
      break 
     elif choice == 1000: 
      n = 1000 
      break 
     else: 
      print('Error, enter the right number') 
    return n 
x = chose_range() 
+0

Danke, hab das nicht verstanden. –

0

Haben Sie so etwas wie

res = chose_range() 
0

bedeuten Wenn Sie das Ergebnis des Aufrufs chose_range() in eine Variable (Sie hat nicht gesagt, welche) bedeuten „speichern, dann:

theVariable = chose_range() 

Beachten Sie jedoch, dass Ihre Funktion nicht immer einen zu speichernden Wert zurückgibt: Wenn sie eine break-Anweisung trifft, wird die Schleife beendet, ohne die Anweisung return zumindest in ho auszuführen w Ihr eingereichter Code ist eingerückt.