TL; DR: Sie sind mindestens eine Klammer fehlt, und wie Sie die Klammern setzen, hängt richtig ab, ob Sie mit Python 2 oder Python 3.
Zählen Sie Ihre Klammern:
print("The smallest number is", (min(a))), index.append(min(a)
^ ^^^^^
| | |_|||
| |______||
|__________________________________|
In beiden Python 2 oder Python 3, die Syntaxfehler ist die fehlende Klammer für index.append(min(a))
.
Wenn Sie jedoch nur diese Klammern angeben, wird Ihr Problem nicht vollständig behoben. Python 2 und Python 3 interpretieren die resultierende Zeile etwas anders. Angenommen, Sie schreiben folgendes:
print("The smallest number is", (min(a))), index.append(min(a))
In Python 2, haben Sie eine print
Anweisung mit zwei Ausdrücke: das Tupel ("The smallest number is", min(a))
(die Klammern um min(a)
redundant sind) und den Anruf zu index.append
. Der Wert jedes Ausdrucks wird in derselben Zeile gedruckt, getrennt durch ein Leerzeichen. Da index.append
immer None zurückgibt, ist der Ausgang
# Assuming min(a) returns 9
("The smallest number is", 9) None
In Python 3 Sie einen Ausdruck Erklärung, bestehend aus einem Aufruf print("The smallest number is", min(a))
(auch hier die Klammern um min(a)
redundant sind) und ein Aufruf von index.append
. print
ist eine Funktion in Python 3. Nun ist die Ausgabe
The smallest number is 9
gerade ist und der Wert des Ausdrucks ist die Tupel (None, None)
(die Rückgabewerte der beiden Funktionen.)
Sie den Doppelpunkt vergessen haben, nach die letzte 'if'-Anweisung. Und in der print-Anweisung haben Sie ein paar schließende Klammern weggelassen (und Sie haben eine zusätzliche in der Mitte). –
Auch 'sum ('a')' kann möglicherweise nicht funktionieren ... as kann nicht 'a.sort (['a'])' – schwobaseggl
Ich habe gerade das behoben, aber es gibt immer noch diesen Syntaxfehler. – zbush548