【问题标题】:Syntax Error when trying to define multiple functions in python?尝试在python中定义多个函数时出现语法错误?
【发布时间】:2011-08-04 18:17:00
【问题描述】:

我正在尝试学习python,所以我只是在编写一些简单的程序。我编写了这两段代码来定义我想在程序中使用的两个函数,它们都做他们想做的事情,但是当我尝试将它们粘贴到 IDLE 中时,它说第二个 def 存在语法错误。知道这是什么吗?

代码如下:

def print_seq1(number):

    number = input("Pick a number: ")

    print " "
    while number != 1:
        if number%2==0:
            print number
            number = number/2
        else:
            print number
            number = number*3 + 1
    print number
    print " "
    choice = 0  

def print_seq2(number):

        number = input("Pick a number: ")
        print " "
        while number != 1:
            if number%2==0:
                print number,
                number = number/2
            else:
                print number,
                number = number*3 + 1
        print number
        print " "
        choice = 0

【问题讨论】:

  • 语法错误到底在哪里?
  • 我认为是缩进问题?
  • 复制/粘贴到 IDLE 中,没有语法错误
  • 我应该澄清一下,可能 OP 意味着 idle python shell,我可以在其中重现错误,但不是 idle python editor 没有产生语法错误

标签: python syntax


【解决方案1】:

交互式解释器(也称为 REPL,只是“解释器”和许多其他术语)通常只期望在时间。你给它两个,它很困惑。尝试输入第一个 def,一个空白行以确认并实际运行您的输入,然后输入第二个 def

【讨论】:

    【解决方案2】:

    粘贴时会弄乱代码的格式,要么在粘贴后重新正确缩进,要么单独粘贴函数。

    【讨论】:

    • 错误的缩进严格来说也是一种语法错误,但由于它在错误消息中的明确标记不同,所以当人们谈到语法错误时,我倾向于不假设缩进错误。
    猜你喜欢
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    相关资源
    最近更新 更多