代码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. 简约才是王道? CardView 的使用

    发现个好看的东东 CardView,他在support v7包中~~ 顾名思义就是卡片view,可以设置阴影,圆角,等等.. 样子是这样的: 或者你还可以放到listview里 是这样的: http: ...

  2. Swift语言学习路线图

  3. AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)

    AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...

  4. 【云计算 Hadoop】Hadoop 版本 生态圈 MapReduce模型

    忘的差不多了, 先补概念, 然后开始搭建集群实战 ... . 一 Hadoop版本 和 生态圈 1. Hadoop版本 (1) Apache Hadoop版本介绍 Apache的开源项目开发流程 : ...

  5. 【一天一道LeetCode】#20. Valid Parentheses

    一天一道LeetCode系列 (一)题目 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ...

  6. SpriteBuilder修改CCB文件中的子CCB文件需要注意的一个地方

    在SpriteBuilder中如果一个CCB(比如一个场景)中嵌入了另一个子CCB文件(比如一个player),那么当给该子CCB中的root对象添加若干属性的时候,必须注意到这个并没有应用到父CCB ...

  7. 如何修改SpriteBuilder中的按钮禁用启用状态

    按钮的禁用状态和按钮的User Interaction Enabled属性并不相符. 后者设定的是按钮是否参与用户交互. 你不能直接在SpriteBuilder中编译按钮的禁用启用属性.除非你想给按钮 ...

  8. 一个简单的基于 DirectShow 的播放器 2(对话框类)

    上篇文章分析了一个封装DirectShow各种接口的封装类(CDXGraph):一个简单的基于 DirectShow 的播放器  1(封装类) 本文继续上篇文章,分析一下调用这个封装类(CDXGrap ...

  9. 客户全局信用控制&非全局信用控制

    看个简单的例子 客户信用限额 非全局信用控制 非全局信用控制比较简单,我们看一下全局信用控制 设置: 实现结果:全局&非全局对比

  10. Android使用统计图AChartEngine 来展示数据

    本文采用的统计图参考:AChartEngine 访问地址 :http://code.google.com/p/achartengine/ 先给出效果图 本文的开发代码主要是这些:对一些代码进行修改 以 ...