2017-05-20 3 views
-1

Ich versuche, ein Text-RPG zu reparieren, das ich gemacht habe, und ich muss nur wissen, wie man einen Wert von einem Fehler erhält.Wie bekomme ich einen Wert von einem Fehler?

Ich muss dies tun, damit ich ein System erstellen kann, mit dem Sie eine Zeichenfolge einfügen und einige Daten für das Spiel ausgeben können.

if VauleError == True: 
    retry() 

Also wofür ich es benutze ist dies.

while do == "" or do.len(4):        
    cls()              
    do = input("Data? (Press enter if nothing.)")    
    if do == "":            
     while " " in name:          
      name = input("Name the hero. ")     
      if " " in name:         
       input("Please don't use spaces")    
       cls()           
    else:              
     try:             
      name = str(do.split()[0])       
      kills = int(do.split()[1])       
      extra_hp = int(do.split()[2])      
      extra_dmg = int(do.split()[3])      
      gold = int(do.split()[4])       
     except ValueError:          
      input("Invalid Save.")        
      cls()            
     else:             
      input("Save Loaded.") 

Ich weiß nicht, wie ich es tun würde. Der cls() ist Bildschirm löschen.

+0

'Vaule'>' Wert'? – Nuageux

+2

Dies könnte für Sie von Interesse sein: [Der Benutzer wird zur Eingabe aufgefordert, bis er eine gültige Antwort gibt] (http://stackoverflow.com/q/23294658/953482) – Kevin

+0

Sie müssen die gleiche Aufteilung 5 Mal durchführen. Mach es einfach einmal. –

Antwort

1

Nach Kommentar bearbeitet.

Verwenden Sie einen Versuch und Ausnahme Block.

user_input = "" 
while user_input == "" 
    try: 
     user_text = input() 
     #Code that throws the value error 
    except ValueError: 
     print("Invalid option. Please input...") 
     user_text = "" 
     #What you want to happen for this specific error 
#Continue with program 

Dies wird die user_text die zu "" jedes Mal wieder gehen lassen ValueError geworfen wird, die Schleife zu halten zu gehen, bis Valueerror nicht geworfen bekommt.

+0

Das ist, was ich getan habe, aber wie würde ich es schaffen, es immer und immer wieder zu tun. Also wenn die Person gerade zufälliges Zeug eingibt. – SollyBunny

+0

Setzen Sie die Schleife in eine Funktion und zurückgeben, wenn gültig, andernfalls weiter –

+0

Frage Bereich kriechen Alarm. Sehen Sie sich den obigen Fragekommentar an, um Ihre erweiterte Abfrage zu beantworten. –

Verwandte Themen