-5

我已经研究了一段时间,但似乎无法发现它有什么问题,因为我在第 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
4

3 回答 3

2

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

第 28 行是一个错字,)而不是_.

于 2013-05-30T17:45:42.383 回答
2

28号线...

28      print_first)word(words)

应该...

28      print_first_word(words)

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

于 2013-05-30T17:48:39.717 回答
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 行的错误是一个明显的错字。

于 2013-05-30T17:42:55.707 回答