【问题标题】:Python: Unknown Invalid Syntax ErrorPython:未知的无效语法错误
【发布时间】:2017-10-09 13:13:09
【问题描述】:

我被难住了。我多次查看我的代码,但无法找出为什么这段代码的语法无效。任何帮助将不胜感激!谢谢。

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()

【问题讨论】:

  • 看来你的意图不是正确的'nameReverse()'。
  • nameReverse() 不正确,并且总是显示您收到的错误:)
  • 实际的堆栈跟踪将非常有用。此错误是由于错误的缩进或混合空格和制表符造成的。
  • @farbiondriven 它在我的 shell 中缩进了一个标签,我不知道为什么它没有复制过来。感谢您的回复!

标签: python syntax syntax-error


【解决方案1】:

如果是python 2.x,你应该使用

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()

【讨论】:

    【解决方案2】:

    我得到的唯一错误是缩进错误。这是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()
    

    【讨论】:

    • 感谢您的回复!我将此代码复制到 Python 中,但在 'def main():' 处仍然出现语法错误
    • SyntaxError: invalid syntax,高亮部分是'main'之前的'def'
    • 那么,您将这段代码复制到一个 python 文件中并使用python my_file.py 运行它,但它没有工作?
    • 我得到了它的工作,感谢您的帮助!这是我第一学期的编码,所以我仍然习惯所有的规则和常量。
    • 出了什么问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 2015-05-24
    • 2016-10-18
    • 1970-01-01
    • 2021-08-21
    相关资源
    最近更新 更多