如何结束函数的定义?

时间:2014-01-02 03:39:16

标签: python python-2.7 syntax function

我正在尝试定义一个函数,但我不知道如何结束它;它导致我的下一个函数出现在第一个函数的主体中。这是代码的一大块:

def save(name):
    if x['fname'] == 'ply.json':
        save1(name)
    else: write_data({'fname':'ply.json', 'name':name}, 'ply.json')

def incrace():
    race=raw_input()
    if race.lower() == "avian":
        print "Great %s! So you would like to be an" % (name),
        print race.lower(),
        print "?"
    elif race.lower() == "apex":
        print "Great %s! So you would like to be an" % (name),
        print race.lower(),
        print "?"
    elif race.lower() == "human":
        print "Great %s! So you would like to be a" % (name),
        print race.lower(),
        print "?"
    elif race.lower() == "floran":
        print "Great %s! So you would like to be a" % (name),
        print race.lower(),
        print "?"
    elif race.lower() == "glitch":
        print "Great %s! So you would like to be a" % (name),
        print race.lower(),
        print "?"
    elif race.lower() == "hylotl":
        print "Great %s! So you would like to be a" % (name),
        print race.lower(),
        print "?"
    else:
        print "Sorry, what was that? You're what race?"
        incrace()

这是我遇到问题的地方:

>>>def save(name):
...    if x['fname'] == 'ply.json':
...        save1(name)
...    else:
...        write_data({'fname':'ply.json', 'name':name}, 'ply.json')
...
...def incrace():
  File "<stdin>", line 6
    def incrace()
      ^
SyntaxError: invalid syntax

我一直在寻找,但我不知道如何结束这个功能。我之前遇到过这个问题,但我是如何解决它的,我也不知道。提前谢谢。

2 个答案:

答案 0 :(得分:4)

如果您正在使用IDLE或Python shell,请按 Enter 两次以返回>>>提示符,然后开始下一个函数定义。

你唯一不会这样做的时候是你正在研究一个类定义,在这种情况下你会在函数defs之间留下一个空白行。

答案 1 :(得分:0)

我认为您应该使用Vim编辑器并使用命令运行.. 在我看来,我对Vim有信心避免这种错误