2017-10-09 25 views
0

私は困惑しています。私は自分のコードを何度も見てきましたが、このコードのために無効な構文が出ている理由がわかりません。どんな助けでも大歓迎です!ありがとう。それは、Python 2.xのであればPython:Unknown無効な構文エラー

def nameReverse(): 

    name = str(input("Enter your full name: ")) 
    testName = name.split() 

    if len(testName)>1: 

    firstName=testName[0] 
    lastName=testName[1] 
    print (lastName,firstName) 

def main(): 
    nameReverse() 

main() 
+1

正しく 'nameReverse()'を意図していないようです。 – farbiondriven

+0

nameReverse()は正しくありませんまた、常にあなたが得ているエラーを表示します:) –

+1

実際のスタックトレースは非常に便利です。このエラーは、間違ったインデントまたはミックススペースとタブが原因です。 –

答えて

1

あなたは

name = str(raw_input("Enter your full name: ")) 

完全なコードを使用する必要があります。私が得た

def nameReverse(): 

    name = str(raw_input("Enter your full name: ")) 
    testName = name.split() 

    if len(testName)>1: 

     firstName=testName[0] 
     lastName=testName[1] 
     print (lastName,firstName) 

def main(): 
    nameReverse() 

main() 
+0

なぜ 'raw_input'ですか? 'input'はすでに文字列を取得しています。 – Steampunkery

1

のみエラーがインデントエラーでした。これはpythonなので、字下げは非常に重要です。 ifステートメントが不適切にインデントされました。ここにあなたが欲しいものがあります:

def nameReverse(): 
    name = str(input("Enter your full name: ")) 
    testName = name.split() 

    if len(testName)>1: 
     firstName=testName[0] 
     lastName=testName[1] 
     print (lastName,firstName) 

def main(): 
    nameReverse() 

main() 
+1

返信いただきありがとうございます!このコードをPythonにコピーしても、 'def main():'で構文エラーが表示されています。 ' – JarPaJack

+0

私のためにうまく動作します。 – Steampunkery

+0

SyntaxError:無効な構文です。強調表示されている部分は 'main'の前の 'def'です – JarPaJack