• 结对编程(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才解决了问题。项目这种事果然是人越多,问题越容易解决。

  • 相关阅读:
    在Ubuntu20.04上安装MySQL8.0及正确配置[已验证]
    Linux Ubuntu 20.04 —添加开机启动(服务/脚本)
    Ubuntu进入文件夹路径及查看文件夹目录
    Ubuntu20.04安装JDK
    How to install shutter on Linux 20.04
    在Ubuntu 20.04 中以管理员Root 身份用可视化的方式打开根目录文件夹
    在Ubuntu 20.04 上安装Chromium
    Ubuntu20.04安装搜狗输入法的详细步骤
    Ubuntu 20.04换国内源 清华源 阿里源 中科大源 163源
    linux Deepin 20 系统更新源.txt
  • 原文地址:https://www.cnblogs.com/nullcjm/p/11686839.html
Copyright © 2020-2023  润新知