example - python plot numpy array




Was ist die korrekte Syntax für 'else if'? (4)

Ich bin ein neuer Python-Programmierer, der den Sprung von 2.6.4 nach 3.1.1 macht. Alles ist gut gelaufen, bis ich versucht habe, die "else if" -Anweisung zu verwenden. Der Interpreter gibt mir einen Syntaxfehler nach dem 'if' in 'else if' aus einem Grund, den ich anscheinend nicht herausfinden kann.

def function(a):
    if a == '1':
        print ('1a')
    else if a == '2'
        print ('2a')
    else print ('3a')

function(input('input:'))

Vermutlich vermisse ich etwas sehr Einfaches; Allerdings konnte ich die Antwort nicht selbst finden.


Hier ist ein kleines Refactoring Ihrer Funktion (es verwendet nicht "else" oder "elif"):

def function(a):
    if a not in (1, 2):
        a = 3
    print(str(a) + "a")

@ ghostdog74: Python 3 benötigt Klammern für "Drucken".


In Python wird "else if" als "elif" geschrieben.
Außerdem brauchst du einen Doppelpunkt nach dem elif und dem else .

Einfache Antwort auf eine einfache Frage. Ich hatte das gleiche Problem, als ich anfing (in den letzten Wochen).

Dein Code sollte also lauten:

def function(a):
    if a == '1':
        print('1a')
    elif a == '2':
        print('2a')
    else:
        print('3a')

function(input('input:'))


Python 3.x hatte einige Änderungen, was bedeutet, dass einige Python 2.7-Programme möglicherweise nicht funktionieren.

Ich weiß, dass diese Antwort vielleicht zu spät ist, aber es deutet einiges an.

Python 3.x ist gleichbedeutend mit else if es auf elif geschrumpft elif . Das bedeutet alles else if Code nun elif sein elif .

Dies ist ein Beispiel:

print ("Hello! Type a letter. (a for adding, s for subtracting)")

answer = input()

if answer == "a":
    adding() #This would lead to a define, e.g def adding():
elif answer == "s":
    subtracting() #This would lead to a define, e.g def adding():
else:
    print("Invalid selection!")

Dies verengt es etwas und erleichtert das Sortieren der Dinge.





python-3.x