• 20180918-1 词频统计


    此作业的要求见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2126]

    一、项目功能的重点、难点 及执行效果

    1.(1)功能1的执行效果截图(功能未实现,无截图)

      遗憾没能实现功能一,因为在我通过命令行参数成功执行功能2和功能3之后,没有想明白如何通过控制台执行功能一。

      我只能在pycharm平台上实现这个功能。

       (2)在构思功能1中已解决的问题

      a.要实现功能1,字典和列表的运用是最重要的部分,这些部分已实现

      b.其次是对单词的区分,这里要将文本文档中的标点用空格代替,然后用split函数进行分割,统计单词个数以后将其插入到空字典中

      c.可以用parseText(.lower())函数将所有单词小写

      (3)未解决的问题

      无法通过控制台输入

      (4)功能1的部分代码

    1 def parseText(text):
    2     for ch in "~!@#$%^&*(()_+-={}[]<>,.?/;':"|\":
    3         text = text.replace(ch, " ")
    4     words = text.split()
    5     return words
     1 words = parseText(name.lower())
     2         word_count = {}
     3         for word in words:
     4             if word in word_count:
     5                 word_count[word] += 1
     6             else:
     7                 word_count[word] = 1
     8                 total += 1
     9         items = [(count, word) for (word, count) in word_count.items()]
    10         items.sort(reverse=True)
    11         print "total:", total
    12         print ''
    13         i = 0
    14         for item in items:
    15             print item[1], item[0]
    16             i += 1
    17             if i >= 10:
    18                 break

    2.(1)功能2的执行效果截图

      (2)功能2中的重点和难点

      a.在功能一的基础上,实现这一功能需要使用open()函数和read()函数对从键盘录入的文件名进行读取

      b.实现这一功能需要使用命令行参数,需要导入sys模块

      c.实现这一功能还需os.path.isfile()函数判断从键盘录入的字符串是否为文件名

      (3)实现功能2的主要代码

    1 name = sys.argv[1]
    2     if os.path.isfile(name):   
    3         novel = open(name)
    4         text = novel.read()
    5         words = parseText(text.lower())

    3.(1)功能3的执行效果截图

    (2)功能3中的重点和难点

      a.实现这一功能同样需要使用命令行参数,仍需要导入sys模块

      b.实现这一功能需os.path.isdir()函数判断从键盘录入的字符串是否为目录名

      c.需要使用os.chdir()函数将当前目录改为从键盘输入的文件夹

      d.需要使用glob.glob("*.txt")函数遍历当前目录下所有的以.txt为后缀的文件

    (3)实现功能3的主要代码

    1     elif os.path.isdir(name):                #判断输入的字符串是否为目录
    2         os.chdir(name)              #更改当前目录
    3         files = glob.glob("*.txt")       #遍历当前目录下所有的文本文档
    4         for file in files:
    5             total = 0
    6             novel = open(file)
    7             text = novel.read()
    8             words = parseText(text.lower())

    4.(1)功能4的执行效果截图(功能未实现,无截图)

       (2)功能4未解决的问题

      a.参见其他同学上交的作业,我认为没实现这个功能的原因在于未理解重定向的概念和使用方法。对于重定向的概念,我是在最初的两天进行学习的,由于对重定向理解的不好,没有将其灵活运用到这个功能中,比较遗憾。

      b.第二问题是无法正确使用命令行参数,无法从控制台输入作品名。

    二、PSP

    功能实现及测试PSP

     

    三、代码及版本控制

    本项目地址为:https://coding.net/u/xumonv/p/word_count/git

    使用的git客户端为:tortoisegit

  • 相关阅读:
    Openjudge-NOI题库-简单算术表达式求值
    洛谷-求同构数的个数-NOIP2013提高组复赛
    洛谷-拼数-NOIP1998提高组复赛
    洛谷-统计数字-NOIP2007提高组复赛
    洛谷-谁拿了最多奖学金-NOIP2005提高组复赛
    Openjudge-NOI题库-字符串移位包含问题
    洛谷-乘积最大-NOIP2000提高组复赛
    NOIP2015-普及组复赛-第一题-金币
    Tyvj-超级书架
    Openjudge-NOI题库-出书最多
  • 原文地址:https://www.cnblogs.com/handsome-blog/p/9696563.html
Copyright © 2020-2023  润新知