代码github地址:https://github.com/yiduobaozhi/-1

PSP表格:

预测时间(分钟)

planning

计划

15

Estimate

估计这个任务需要多少时间

100

Development

开发

15

Analysis

需求分析

10

Design Spec

生成设计文档

10

Design Review

设计复审(和同事审核设计文档)

0

Coding Standerd

代码规范(为目前的开发制定合适的规范)

5

Design

具体设计

3

Coding

具体编码

120

Code Review

代码复审

3

Text

测试(自测,修改代码,提交修改)

10

Reporting

报告

7

Text Report

测试报告

7

Size Measurement

计算工作量

10

Postmortem & Process Improvement Plan

事后总结,并提出过程改进计划

12

解题思路:

(1)寻找一种可以用于真分数的函数

(2)随机生成几个数或者几个分子分母

(3)设计代码,实现加减乘除基本功能

(4)查询效能分析相关资料,尝试优化代码

设计过程:
分开为整数部分计算和分数部分计算,分数调用Fraction函数进行计算,使用random随机生成数字,用于计算四则计算

具体代码:

from fractions import Fraction #导入分数函数
import numpy as np
import cProfile
def size():
print("你需要算的是分数还是整数?")
a=input()
if a=="分数":
x = np.random.randint(1,100)
y = np.random.randint(1,100)
e = input("加减乘除?")
b = np.random.randint(1,100)
c = np.random.randint(1,100)
print(x,y,b,c)
if e=="+":
print("答案为:%s+%s=%s"%(Fraction(x,y),Fraction(b,c),Fraction(x, y) + Fraction(b, c)))
elif e=="-":
print("答案为:%s-%s=%s" % (Fraction(x, y), Fraction(b, c), Fraction(x, y) - Fraction(b, c)))
elif e=="*":
print("答案为:%s*%s=%s" % (Fraction(x, y), Fraction(b, c), Fraction(x, y) * Fraction(b, c)))
elif e=="/":
print("答案为:%s/%s=%s" % (Fraction(x, y), Fraction(b, c), Fraction(x, y) / Fraction(b, c)))
elif a=="整数":
x1=np.random.randint(1,100)
y1=np.random.randint(1,100)
print(x1,y1)
e1=input("加减乘除?")
if e1 == "+":
print("答案为:%s+%s=%s" %(x1, y1, x1+y1))
elif e1== "-":
print("答案为:%s-%s=%s" %(x1, y1, x1-y1))
elif e1 == "*":
print("答案为:%s*%s=%s" %(x1, y1, x1 * y1))
elif e1=="/":
print("答案为:%s/%s=%s" %(x1, y1, x1 / y1))
cProfile.run(size)

测试运行:

效能分析:

PSP表格:

实际时间(分钟)

nning

计划

40

Estimate

估计这个任务需要多少时间

100

Development

开发

9

Analysis

需求分析

5

Design Spec

生成设计文档

1

Design Review

设计复审(和同事审核设计文档)

1

Coding Standerd

代码规范(为目前的开发制定合适的规范)

1

Design

具体设计

21

Coding

具体编码

100

Code Review

代码复审

3

Text

测试(自测,修改代码,提交修改)

5

Reporting

报告

60

Text Report

测试报告

20

Size Measurement

计算工作量

2

Postmortem & Process Improvement Plan

事后总结,并提出过程改进计划

1

python实现四则运算和效能分析的更多相关文章

  1. python词频统计及其效能分析

    1) 博客开头给出自己的基本信息,格式建议如下: 学号2017****7128 姓名:肖文秀 词频统计及其效能分析仓库:https://gitee.com/aichenxi/word_frequenc ...

  2. 第五次作业——python效能分析与几个问题(个人作业)

    第五次作业--效能分析与几个问题(个人作业) 前言 阅读了大家对于本课程的目标和规划之后,想必很多同学都跃跃欲试,迫不及待想要提高自身实践能力,那么就从第一个个人项目开始吧,题目要求见下. 阅读 阅读 ...

  3. 《构建之法》教学笔记——Python中的效能分析与几个问题

    <构建之法:现代软件工程>中第2章对效能分析进行了介绍,基于的工具是VSTS.由于我教授的学生中只有部分同学选修了C#,若采用书中例子讲解,学生可能理解起来比较困难.不过所有这些学生都学习 ...

  4. 《软件工程和Python》PYTHON效能分析和Django

    资料汇总网站:http://www.yzhiliao.com/my/course/55 一..作业下面两个题目任选一题: (1)运用jieba库分词(或者你喜欢的其他库),并把代码发到git上去(不发 ...

  5. [python 译] 基于面向对象的分析和设计

    [python 译] 基于面向对象的分析和设计 // */ // ]]>   [python 译] 基于面向对象的分析和设计 Table of Contents 1 原文地址 2 引言 2.1 ...

  6. python编写网络抓包分析脚本

    python编写网络抓包分析脚本 写网络抓包分析脚本,一个称手的sniffer工具是必不可少的,我习惯用Ethereal,简单,易用,基于winpcap的一个开源的软件 Ethereal自带许多协议的 ...

  7. C#词频统计 效能分析

    在邹老师的效能分析的建议下对上次写过的词频统计的程序进行分析改进. 效能分析:个人很浅显的认为就是程序的运行效率,代码的执行效率 1.VS 提供了自带的分析工具:performance tool (性 ...

  8. python 多线程日志切割+日志分析

    python 多线程日志切割+日志分析 05/27. 2014 楼主最近刚刚接触python,还是个小菜鸟,没有学习python之前可以说楼主的shell已经算是可以了,但用shell很多东西实现起来 ...

  9. Python 优化第一步: 性能分析实践 使用cporfile+gprof2dot可视化

    拿来主义: python -m cProfile -o profile.pstats to_profile.py gprof2dot -f pstats profile.pstats |dot -Tp ...

随机推荐

  1. 【Linux 操作系统】Ubuntu 配置 ftp freemind adb

    . 1. 配置apt-get源 配置过程 : sudo vim /etc/profile 命令, 在后面添加下面的内容; 刷新配置文件 : source /etc/profie 命令; 刷新源 : s ...

  2. Robust Locally Weighted Regression 鲁棒局部加权回归 -R实现

    鲁棒局部加权回归 [转载时请注明来源]:http://www.cnblogs.com/runner-ljt/ Ljt 作为一个初学者,水平有限,欢迎交流指正. 算法参考文献: (1) Robust L ...

  3. 滑动UITableViewCell出现多个按钮

    iOS > = 5.0使用第三方效果图 iOS> = 8.0使用系统方法效果图 MGSwipeTableCell(Github上的三方库)- iOS >= 5.0 直接使用比较简单 ...

  4. 网站开发进阶(二十三)Address already in use: JVM_Bind <null>:8088

    Address already in use: JVM_Bind <null>:8088 注:请点击此处进行充电! 阿里云服务器又莫名其妙的宕掉!内存泄漏问题依然存在,又出现了端口占用的情 ...

  5. Java进阶(十四)实现每天定时对数据库的操作

    Java实现每天定时对数据库操作 现在有一个很棘手的问题:客户要求实现一个功能,就是每日凌晨自动计算慢性病订单是否有需要在今日提醒的,如果有则生成一条提醒记录到lm_notice之中. 如何在Web工 ...

  6. Android For JNI(一)——JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序,使用C启动JAVA程序

    Android For JNI(一)--JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序 当你的Android之旅一步步的深入的时候,你其实会发现,很多东西都必须去和framew ...

  7. boost::this_thread::sleep_for()死锁

    boost::this_thread::sleep_for()会死锁 (金庆的专栏) 发现睡眠1ms很容易死锁.boost::this_thread::sleep_for(boost::chrono: ...

  8. ORALCE EBS ALERT 初体验

    Oracle EBS Alert Alert 是一种Oracle系统中的一种机制,它可以监视系统数据库,在规定的情况下给规定用户一个通知,通知可以是邮件或者其他形式,在标注的系统和客户化系统中都是可以 ...

  9. objective-c随机数+日期格式显示一例

    在原来的代码上有修改,主要为: 将准备随机数方法放到了init中,这样不用手动调用了 setWeek方法已经过时,使用的是setWeekOfYear方法 在此放一份以备以后查找: le.h // // ...

  10. 安卓系统启动脚本init.rc说明文件readme.txt翻译

    本说明文件位于system/core/init/readme.txt 本文参考深入解析安卓系统一书,进行翻译,版权部分归书的作者  刘超,资深Android专家,系统架构师. 博客地址:http:// ...