学习Python的难度ex25 - 语法错误

时间:2013-05-30 17:39:48

标签: python python-2.7

我已经讨论了一段时间了,因为我在第13行遇到了语法错误,似乎无法找到它的错误。我很乐意,如果有人可以在这里按正确的方向推动我,因为我开始拉我的头发进行。

def break_words(stuff):
    """This function will break up words for us"""
    words = stuff.split(' ')
    return words

def sort_words(words):
    """sorts the words"""
    return sorted(words)

def print_first_word(words):
    """prints the first word after popping it off"""
    word = words.pop(0)
    print word # line 13

def print_last_word(words):
    """prints the last word after popping it off"""
    word = words.pop(-1)
    print word

def sort_sentence(sentence):
    """Takes in a full sentence and returns the sorted words."""
    words = break_words(sentence)
    return sorted_words(words)

def print_first_and_last(sentence):
    """Prints the first and last words in the sentence"""
    words = break_words(sentence)
    print_first)word(words)
    print_last_word(words)

def print_first_and_last_sorted(sentence):
    """Sorts the words then prints the first and last one"""
    words = sort_sentence(sentence)
    print_first_word(words)
    print_last_word(words)

错误:

File "ex25.py", line 28
   print_first)word(words)
              ^
SyntaxError: invalid syntax

3 个答案:

答案 0 :(得分:2)

由于第13行是print语句,我假设您正在使用python3。在python3中,print是一个函数:print(word)。下一个错误将是缩进...

第28行是拼写错误,)而不是_

答案 1 :(得分:2)

第28行......

28      print_first)word(words)

应该是......

28      print_first_word(words)

(注意:右括号,它应该是下划线。)

答案 2 :(得分:1)

您的代码的原始版本没有行号,并且有:

def print_last_word(words):
        """prints the last word after popping it off"""
    word = words.pop(-1)
    print word

会导致

IndentationError: unindent does not match any outer indentation level

但其他人都是对的,print是你的第一个问题。您正在运行Python 3.x并需要使用print 功能

第28行的错误是一个明显的错字。