2023(春) 软工作业 2:个人编程项目PSP

软工211-425-陈鑫 软工教学1班 2023-05-26 08:25:53

实验名称:个人编程项目练习

 

一、实验目的

+   体验个人能力过程PSP

+   简单编程训练

二、实验内容

Step1:下载 红楼梦.txt 文件。

 Step2:阅读理解以下编程任务,并估计完成这些任务需要的时间,填表写PSP表中预估耗时(时间单位:分钟)

          Task1:分割章回。一共120回。

          Task2:情感分析,即计算每章回出现 悲、喜次数。可以用"笑"、"喜" 等同义词表示喜;用"悲"、"哭"、"泣"等同义词表示悲。

          Task3:计算每个章回里面,典型人物出现的次数。如刘姥姥、王熙凤等。

  PSP表格如下:

Personal Softwar ProcessStages  预估耗时(分钟)实际耗时(分钟)
Planning(计划)1510
Estimate(估计时间)1010
Development(开发)3030
Analysis(需求分析(包括学习新技术))3025
Design Spec(生成设计文档)3020
Design Review(设计复审)2015
Coding Standard(代码规范)2515
Design(具体设计)3030
Coding(具体编码)3025
Code Review(代码复审)6045
Test(测试(自我测试,修改代码,提交修改))1015
Test Report(测试报告)1510
Size Measurement(计算工作量)1015
Postmortem & Process Improvement Plan(事后总结,并提出过程改进计划)2015
Total(合计)335280

Step3:按照PSP表格,分14个阶段完成以上编程任务,并填写PSP表的实际耗时一列(单位:分钟)。

Step4:附上本次实验的代码,并加以说明。


#Task1: 分割章回
f = open('红楼梦.txt','r',encoding='utf-8') 
s = f.read()
import re
lst_chapter = []
chapter = re.findall("第[\u4E00-\u9FA5]+回", s)#"第([\u4E00-\u9FA5]+)回"返回第和回中间的内容
for x in chapter:
    if x not in lst_chapter and len(x)<=5:
        lst_chapter.append(x)
print(lst_chapter)
lst_start_chapterindex = []
for x in lst_chapter:
     lst_start_chapterindex.append(s.index(x))
print(lst_start_chapterindex)
lst_end_chapterindex = lst_start_chapterindex[1:]+[len(s)]
lst_chapterindex=list(zip(lst_start_chapterindex,lst_end_chapterindex))
print(lst_chapterindex)
 
#Task2:计算每回苦笑悲喜次数
cnt_laugh=[]
cnt_cry=[]
for ii in range(120):
    start=lst_chapterindex[ii][0]
    end=lst_chapterindex[ii][1]
    cnt_laugh.append(s[start:end].count("笑")+s[start:end].count("喜"))
    cnt_cry.append(s[start:end].count("哭")+s[start:end].count("悲"))
 
 
#Task3:计算每回刘姥姥出现次数
cnt_liulaolao=[]
for ii in range(120):
    start=lst_chapterindex[ii][0]
    end=lst_chapterindex[ii][1]
    cnt_liulaolao.append(s[start:end].count("刘姥姥"))

 

...全文
20 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

198

社区成员

发帖
与我相关
我的任务
社区描述
用于软件工程专业的课程教学,讲义、视频、资料、问题讨论 鞠小林老师、蒋峥峥老师,欢迎您的到来!
社区管理员
  • juking@ntu
  • qinzuibaozi
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

只讨论科学和技术问题

试试用AI创作助手写篇文章吧