结对编程(Python实现)
一、Github地址:https://github.com/nullcjm/mypage
项目搭档:3117004662梁子豪 3117004648陈俊铭
二、PSP表格:
|
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
|
Planning |
计划 |
30 |
30 |
|
· Estimate |
· 估计这个任务需要多少时间 |
30 |
30 |
|
Development |
开发 |
800 |
840 |
|
· Analysis |
· 需求分析 (包括学习新技术) |
120 |
100 |
|
· Design Spec |
· 生成设计文档 |
30 |
30 |
|
· Design Review |
· 设计复审 (和同事审核设计文档) |
30 |
30 |
|
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
20 |
20 |
|
· Design |
· 具体设计 |
60 |
60 |
|
· Coding |
· 具体编码 |
480 |
520 |
|
· Code Review |
· 代码复审 |
30 |
40 |
|
· Test |
· 测试(自我测试,修改代码,提交修改) |
30 |
40 |
|
Reporting |
报告 |
90 |
90 |
|
· Test Report |
· 测试报告 |
40 |
40 |
|
· Size Measurement |
· 计算工作量 |
20 |
30 |
|
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
30 |
20 |
|
合计 |
940 |
960 |
三、设计实现过程:

四、代码说明:
在遇到把假分数转换成带分数的时候遇到了令我们哭笑不得的情况,或许是当时2个人已经不清醒了,连Fraction最本来的用法都忘了。在生成表达式的分数时用了比较笨的办法,分别生成分子和分母,通过向下取整的‘//’运算获得带分数的整数部分,通过求余运算获得分子部分,本来打算用同样的方法在判对错功能时,突然懵住了,本来想用正则表达式把提交答案的分子分母分离出来再转换成带分数,再与生成的正确答案比较(因为前面把生成的答案变为带分数了),觉得很麻烦。后来经提醒Fraction的最基本用法就有把分数分子分母分离的功能(我们2个真的是憨憨),知道这后转换其实很简单(精神抖擞.jpg)。
def change_fraction(s):
"""
把分数转换为带分数
:param s:原分数
:return :带分数
"""
fra = Fraction(s)
if fra.numerator % fra.denominator == 0:
fra = int(fra.numerator / fra.denominator)
return str(fra)
elif fra.numerator > fra.denominator:
integer = fra.numerator // fra.denominator
fra = fra - integer
return "'".join([str(integer), str(fra)])
else:
return s
五、测试运行:
1.生成一万道题

2.生成答案

3.检查对错

4.输入指令
六、项目小结:
这次结对编程收获匪浅,两个人的通力协作带来了1+1>2的力量。两人协作的效率比个人要好得多,比起自己百度,还是两人讨论更省事。
真假分数的转化想了很久,网上也只搜到了数学的解决方法,后来去问了别人,得知了Fraction才解决了问题。项目这种事果然是人越多,问题越容易解决。
结对编程(Python实现)的更多相关文章
- 结对编程-python实现
目录 软件工程结对项目:Python实现wc程序 结对项目Github地址 项目成员 项目要求 说明 需求 PSP表格 解题思路描述 设计实现 代码组织图 代码分析 代码覆盖率 测试 单元测试 回归测 ...
- Python实现结对编程项目
Github (李昆乘)(陈俊豪) 开发流程 PSP2.1 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ...
- 结对编程作业(python实现)
一.Github项目地址:https://github.com/asswecanfat/git_place/tree/master/oper_make 二.PSP2.1表格: PSP2.1 Perso ...
- GUI、模块化与结对编程(homework-03)
摘要: 在本次作业博客里,我将主要阐述作业3的收获.作业3表面是将之前的程序转换为图形界面(之前程序见http://www.cnblogs.com/shone/p/3348372.html),然而本质 ...
- 软件工程结对编程-2017282110264&2017282110249
0 小组成员 李世钰 / 2017202110264 王成科 / 2017282110249 1 项目 GitHub 地址 && 演示地址 GitHub: https://github ...
- 结对编程项目总结 by:陈宏伟&刘益
结对编程项目在欢快的国庆假期中也顺利结束了.从最初拿到结对编程项目的思考,再到一步一步实现,中间经历了一个漫长的过程.在我和队友的多次协商下,最终我们还是选择使用基于python来实现这一次结对编程项 ...
- 集大软件工程15级结对编程week1
集大软件工程15级结对编程week1 0. 团队成员 姓名 学号 博客园首页 码云主页 孙志威 20152112307 Agt Eurekaaa 孙慧君 201521123098 野原泽君 野原泽君 ...
- ASE第二次结对编程——Code Search
复现极限模型 codenn 原理 其原理大致是将代码特征映射到一个向量,再将描述文字也映射到一个向量,将其cos距离作为loss训练. 对于代码特征,原论文提取了函数名.调用API序列和token集: ...
- 结对编程项目报告--四则运算CORE
<!doctype html> sw_lab2.mdhtml {overflow-x: initial !important;}#write, body { height: auto; } ...
随机推荐
- django学习-数据库配置-创建模型
数据库配置 在mysite/settings.py中,包含了django项目设置的python模块 通常,这个配置文件使用SQLite作为默认数据库.如果你不熟悉数据库,或者只是想尝试下django, ...
- VIJOS-P1064 迎春舞会之数字舞蹈
洛谷 P1538 迎春舞会之数字舞蹈 洛谷传送门 JDOJ 1245: VIJOS-P1064 迎春舞会之数字舞蹈 JDOJ传送门 Description 在越来越讲究合作的时代,人们注意的更多的 ...
- <BackTracking> dfs: 39 40
39. Combination Sum Combination,组合问题用DFS罗列全部的答案. class Solution { public List<List<Integer> ...
- CF1151F Sonya and Informatics(概率期望,DP,矩阵快速幂)
明明是水题结果没切掉……降智了…… 首先令 $c$ 为序列中 $0$ 的个数,那么排序后序列肯定是前面 $c$ 个 $0$,后面 $n-c$ 个 $1$. 那么就能上 DP 了.(居然卡在这里……) ...
- [LeetCode] 477. Total Hamming Distance 全部汉明距离
The Hamming distance between two integers is the number of positions at which the corresponding bits ...
- [LeetCode] 466. Count The Repetitions 计数重复个数
Define S = [s,n] as the string S which consists of n connected strings s. For example, ["abc&qu ...
- Oracle RAC 修改SPFILE路径 文件查看
在spfile场景下创建pfile: SQL> create pfile='/opt/oracle/init_pfile.ora'; 创建新spfile: SQL> create spfi ...
- HTML禁用Flash文件右键
在项目中遇到一个需求,由于制作Flash的同事没有做禁用Flash文件右键功能!而Flash文件比较多,一个个改不太现实,于是要求用在网页显示的时候禁用Flash右键功能!未禁用之前! 禁用之前: 禁 ...
- Vue2 实践揭秘 错误列表
京东上的购买地址 作者是土生土长的聪明中国人 https://item.jd.com/12176536.html 64页 const bookID = this.$router.params.id 搞 ...
- java,string和list,list和set相互转换
list转string String str= String.join("','", list); list转set Set<String> set = new Has ...