2016-04-24 7 views
-3

Es heißt, dass ich einen Syntaxfehler habe. Aber ich sehe nicht, was falsch ist. Es ist auf der Linie, wo es a.append sagt. Ich bin so verwirrt. Ich entschuldige mich, ich bin ein Neuling. Ich brauche Hilfe. Ich bin mir ziemlich sicher, dass ich mehr als einen habe. Aber die erste ist auf a.append (0)Array Syntax Fehler

def invalidsyntax(a): 
    if max(a)>20: 
     print("The highest number is in position", a.index(max(a))) 
     a.remove(max(a)) 
    if min(a)>5: 
     print("The smallest number is", (min(a))), index.append(min(a) 
     a.append (0) 
    if min(a)>5 
     a.sort(['a']) 
     sum('a')/float(len('a') 
     a[2] 
     a[-3]   
+1

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). –

+0

Auch 'sum ('a')' kann möglicherweise nicht funktionieren ... as kann nicht 'a.sort (['a'])' – schwobaseggl

+0

Ich habe gerade das behoben, aber es gibt immer noch diesen Syntaxfehler. – zbush548

Antwort

0

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 printAnweisung 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.)

+0

Also ** Mr Down-Voter **? .. Wo zum Teufel ist dein ** Kommentar ** ??? ... –

+0

Warte was? Ich habe nicht abgestimmt. Ich wollte es verbessern. Eisenfaust. Es tut mir Leid. – zbush548

+1

@IronFist Der Beitrag ist ein _typographischer_ Fehler, der explizit als Off-Thema auf dieser Hilfeseite der Site erwähnt wird. Diese Fragen sollten in den Kommentaren beantwortet und markiert/geschlossen werden. Nehmen Sie auch nicht an, dass jeder auf dieser Seite ein Mann ist. – Natecat