Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google类:Python——Mimic.py练习_Python - Fatal编程技术网

Google类:Python——Mimic.py练习

Google类:Python——Mimic.py练习,python,Python,因此,我已经开始学习google的python类,到目前为止,在任何练习中都没有遇到太多困难。然而,我正在努力解决这个问题。我在谷歌上搜索了很多地方,发现了两个结果,我也想听听任何建议 以下是练习: “读入命令行上指定的文件。 对空格执行简单的split(),以获取文件中的所有单词。 它比逐行读取文件更容易读取 把它分成一根巨大的绳子,再把它劈开一次 构建一个“模拟”dict,映射文件中出现的每个单词 指向文件中紧跟该单词之后的所有单词的列表。 单词列表可以是任何顺序,并且应该包括 重复。例如,

因此,我已经开始学习google的python类,到目前为止,在任何练习中都没有遇到太多困难。然而,我正在努力解决这个问题。我在谷歌上搜索了很多地方,发现了两个结果,我也想听听任何建议

以下是练习:

“读入命令行上指定的文件。 对空格执行简单的split(),以获取文件中的所有单词。 它比逐行读取文件更容易读取 把它分成一根巨大的绳子,再把它劈开一次

构建一个“模拟”dict,映射文件中出现的每个单词 指向文件中紧跟该单词之后的所有单词的列表。 单词列表可以是任何顺序,并且应该包括 重复。例如,键“and”可能有列表 [“then”、“best”、“then”、“after”、…]列表 课文中“和”之后的所有单词。 我们会说空字符串是前面的字符串 文件中的第一个单词

使用模拟dict,很容易发出随机信号 模仿原文的文本。打印一个单词,然后查看 找出下一个可能出现的单词,然后随机选择一个作为 下一步工作。 使用空字符串作为第一个单词来初始化内容。 如果我们被一个不在格言中的词所困扰, 返回到空字符串以使内容保持移动

注意:标准python模块“random”包括 随机。选择(列表)方法,选择一个随机元素 从非空列表中

为了好玩,把你的程序作为输入输入。 可以让它在70左右换行 列,因此输出看起来更好。”

以下是提供的代码:

import random
import sys


def mimic_dict(filename):
"""Returns mimic dict mapping each word to list of words which follow it."""

def print_mimic(mimic_dict, word):
"""Given mimic dict and start word, prints 200 random words."""

def main():
    if len(sys.argv) != 2:
        print 'usage: ./mimic.py file-to-read'
    sys.exit(1)

    dict = mimic_dict(sys.argv[1])
    print_mimic(dict, '')


if __name__ == '__main__':
    main()

感谢您的帮助

这是打印模拟功能。 您的评论中有点不清楚您是否需要任何帮助才能达到这一点: 注意
random.choice
builtin的用法。非常漂亮

import random

def print_mimic(mimic_dict, word):    

    l = []
    for i in range(200):
        word = random.choice(mimic_dict.get(word, ''))
        l.append(word)

    print(' '.join(l))            

你在哪一部分需要帮助?你试过什么吗?我在打印模拟功能方面遇到了问题,我可以将文本拆分为字符串列表,但是我不确定retrospect中的位置,我不应该在函数内部放置
导入
。。。编辑。