Udacity python练习

时间:2018-03-25 12:51:37

标签: python

我正在编写一个madlibs练习,并没有返回所需的结果。它应该用代码中函数中定义的随机动词和名词替换单词NOUN和VERB。

我创建了两个测试句子,在运行代码后,我只获得了两个句子的第一个字符。我不能为我的生活思考为什么!!

PING

结果是

Ť 我

1 个答案:

答案 0 :(得分:0)

您的退货未正确放置。 return processed位于while循环内 - 所以在while循环的第一次迭代之后,您将始终返回值 - 这只是句子中的第一个字母。

你需要把它放在外面。

def process_madlib(madlib):
    #the finished sentence
    processed = ""
    #starting point
    index = 0
    #length to cut from
    box_length = 4
    #
    while index<len(madlib):
        #what you cut off from string
        frame = madlib[index:index+box_length]
        #put to string
        to_add = word_transformer(frame)
        processed += to_add
        if len(to_add) == 1:
            index +=1
        else:
            index +=5
    return processed  # <---- THIS IS WHAT WAS CHANGED

这给出了输出:

This is a good sofato use when you runyour food
I'm going to kayakto the store and pick up a llamaor two.