第一次编程作业
第一次个人编程作业
这个作业属于哪个课程 | 2023-双学位(广东工业大学-计算机学院) |
---|---|
这个作业的要求 | 第一次个人编程作业 |
目标 | 实现论文查重 |
参考文献 | CSDN、GitHub、博客园 |
1、代码仓库地址
2、作业情况
编程语言:python
编译环境:IDLE
第三方库:jieba
3、代码
import jieba
def fenci(text):
# 导入jieba库对文本进行分词
words = list(jieba.cut(text))
text = ' '.join(words)
return text
def similarity(orig_text, similar_text):
# 把原始文本和抄袭文本进行分词处理
orig_text = fenci(orig_text)
similar_text = fenci(similar_text)
# 把文本转换为词汇列表
orig_words = orig_text.split()
similar_words = similar_text.split()
# 计算相同的词语数
common_words = set(orig_words) & set(similar_words)
similarity = len(common_words) / len(set(orig_words))
return similarity
if __name__ == '__main__':
orig_file = input("请输入原始文件地址(如果在对应路径下则输入文件名):")
similar_file = input("请输入需要查重的文件路径(如果在对应路径下则输入全称):")
# 读取文件
with open(orig_file, 'r', encoding='utf-8') as f:
orig_text = f.read()
f.close()
with open(similar_file, 'r', encoding='utf-8') as f:
similar_text = f.read()
f.close()
similarity = similarity(orig_text, similar_text)
print(f'{similar_file}的重复率为:{similarity:.2%}')
4、输出结果
5、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
planning | 计划 | 150 | 160 |
Estimate | 估计这个任务需要多少时间 | 600 | 950 |
Development | 开发 | 500 | 1000 |
Analysis | 需求分析(包含学习新技术) | 200 | 360 |
Design Spec | 生成设计文档 | 10 | 20 |
Desgin Review | 设计审核 | 20 | 20 |
Coding Standard | 代码规范 | 30 | 20 |
Desgin | 具体设计 | 60 | 100 |
Coding | 具体编码 | 500 | 750 |
Code Review | 代码审核 | 60 | 150 |
Test | 测试 | 30 | 60 |
Reporting | 报告 | 90 | 120 |
Test Report | 测试报告 | 10 | 10 |
Size Measurement | 计算工作量 | 20 | 30 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进nn计划 | 30 | 30 |
合计 | 1680 | 2800 |