2017-10-19 2 views
1
def parentMenu(): 
    for _num in menu1_list: 
     print menu1_list 
    prompt="Please Choose a sub menu" 
    text1=raw_input(prompt) 
    if text1 = 1: 
     menu1_1() 
    elif text1 =2: 
     menu1_2() 
    elif text1 =3: 
     menu1_3() 
    else: 
     print "Incorrect!" 
     parentMenu() 

Dieser Code wird auf der Linie einen unindent does not match any outer indentation level Fehler geben, wo ich if text1 =1: haben. Wenn ich das weiter mit den anderen einrücken, sagt es unerwarteter Einrückung.Einrückungen Fehler in Python Funktion

All dies ist wohl in der gleichen Funktion sein, die ein Menü angezeigt werden und der Benutzer wählt, 1, 2, 3.

Ist das Problem mit dem if-Anweisungen unter raw_input erscheinen? Ich habe zuvor keine Benutzereingaben verwendet und war mir nicht sicher, was danach folgt.

+1

Sind Sie Räume vermischen und Tabs? Bitte überprüfen Sie das. – Antimony

+0

Sie sollten auch Ihre if-Bedingungen korrigieren. Der richtige Weg, um auf Gleichheit zu prüfen, ist die Verwendung von '==', so wie 'if text1 = 1: '. Eine einzelne '=' ist die Zuweisung von Werten. – Antimony

+0

Danke für Ihre Antwort Antimon. Du hast recht, vergisst das ==, behoben das. Ja, ich denke, ich bin mit Leerzeichen und Tabs verwechselt. Ich verwende erhabenen Text 3, der für Python eingerichtet ist, wenn ich die Eingabe nach der ersten Zeile für die Funktion gedrückt habe, habe ich gerade versucht, diesem Abstand zu folgen. Ich glaube nach einer Zeile mit: da muss wieder Abstand sein. Aber ich bin nicht sicher, wie viel Abstand. Eher verwirrend. Wäre es ein Ärgernis zu fragen, ob Sie meinen Code im richtigen Abstand schreiben, damit ich ihm folgen kann? würde sehr geschätzt werden. – Daza99

Antwort

0

ich gesamten Code Ihrer Funktion ausgewählt und von oben Menü ausgewählt, Format -> Dedent Region Anzeige dann Räume nur gab, wo immer es nötig war, und ich habe das richtig funktioniert

def parentMenu(): 
    for _num in menu1_list: 
    print (menu1_list) 
    prompt="Please Choose a sub menu" 
    text1=raw_input(prompt) 
    if text1 == 1: 
    menu1_1() 
    elif text1 ==2: 
    menu1_2() 
    elif text1 ==3: 
    menu1_3() 
    else: 
    print ("Incorrect!") 
    parentMenu() 
+0

Danke Shikha! das hat es behoben. Ich bin mehr ein visueller Lerner, also zu sehen, wie etwas getan werden soll, hilft mehr als Informationsüberfluss. Ich sehe oben Leerzeichen verwendet mehr als Einrückung, ich werde mehr darüber lesen, wann Einrückungen statt Leerzeichen zu verwenden. Wenn du gesagt hast, dass das Hauptmenü ausgewählt ist, formatiere -> abhängige Region. Worauf hast du dich bezogen? Zuerst dachte ich, du meintest in Sublime text IDE, weil ich erwähnte, dass ich das benutze, aber ich sehe keine Format-Option an der Spitze. Aber ich habe Python als Hauptsyntax ausgewählt. – Daza99