作业1+2.四则运算(改进后完整版,用python写的)_064121陶源
概述:
用一个星期加上五一的三天假期自学了python,在Mac系统上重新写出了四则运算的程序,编译器是PyCharm,相当于完成了作业2.d)"选一个你从来没有学过的编程语言,试一试实现基本功能"这个方向。
用python写的这个程序能实现分数的加减程序,实现带加减乘除和括号的计算题,实现随机生成100道简单计算题,比之前用C++写的程序功能更加完善,更加简洁!
关键点:
调用两个模板。
1)类似C++和Java,格式是 对象.方法(),Fraction()方法,能直接表示分数。
2)random.randint(a,b)用来生成a-b范围内的随机整数。
p=["+","-","*","/"];
random.choice(p)
p表示字符数组,random.choice(p)表示从数组p中随机抽取字符!
过程:
1)

这段代码的功能是实现两个分数的加减乘除,并且实现用户输入并判断正误,最后统计正确和错误的个数!
用x,y,a,b分别表示第一个分数的分子,第一个分数的分母,第二个分数的分子,第二个分数的分母!
m,n表示用户输入的答案,m是分子,n是分母,然后用if else语句进行判断,得出正误。
h,i是计数器,分别记录正确和错误的个数,控制台运行结果如下:

分别输入了1/2和1/3,前三个运算正确,显示"Congratulations!! your answer is right!"
第四个运算错误,显示"The right answer of '(x/y)/(a/b) is: 3/2'"
最后统计出正确答案个数为3,错误答案个数为1.
2)-------------------------------------------------------------------------------------------------------------------------------

产生10个随机变量,范围从1到20,分别用a1-a10表示。
然后生成3个不同类型的计算题,并让用户输入答案,机器判断对错,控制台结果如下:

问题1的答案是64,我回答正确了。
问题2和3的答案分别是1616/741,-4039/78,我回答错误,没仔细去算,比较复杂,随便填了两个答案!
3)-----------------------------------------------------------------------------------------------------------------

最后一个环节是Level 3,随机生成100道计算题。
先用数组存放加减乘除符号,再在print中以 随机数_符号_随机数的方式表示算式。
在算式外加while循环,计数器count初始值设为1,循环100次,生成100道式子,结果如下:


一共有100个Question,数字随机,运算符随机。
总结:
1)这个程序是我自己写的,由于PyCharm编译器不能再字符和字符串中出现中文,注释也不能用中文,所以只能在博客中打字注释,功能上比第一次写的完善了很多!这也得益于python是解释性语言,语法非常简单:比如两个分数的四则运算这个功能,用C++需要用到operation+、重载等功能,代码行数近100行,但用python只需9行就能搞定!
2)这个程序有个缺陷:您在ppt上的要求是生成的100道计算题中不能有重复,比如(1+2)和(2+1)就是重复的题目,而我用python编写时并没有实现这个细节,毕竟只用1星期看书学,有很多细节没有学到位,现在仍在思考,如果5月7号之前想出来一定修改发到博客!
3)通过这一个星期的python自学,收获颇多,尤其被它的简洁语法所震撼,这个程序我相信还能用更简洁的方式表示。
和C++、C相比,python更简洁,不需要考虑底层的因素,比如指针、内存的占用释放等复杂的东西,不过反过来说,在运行效率上,python比不上C、C++。但想想,在普通的马路上,出租车和F1赛车一起行驶,速度上并不会有太大的差别,二者的差距只有到赛道上才能体现。对于我们学生来说,很少会编写超大程序,所以python很适合作为入门级编程语言,很容易上手!!
4)cnblogs貌似不能上传文件,python的代码我会在5月7号前跟其它作业一起打包发到范老师QQ/邮箱中,您可以运行试下!
作业1+2.四则运算(改进后完整版,用python写的)_064121陶源的更多相关文章
- 软件工程课堂作业(二)续——升级完整版随机产生四则运算题目(C++)
一.设计思想: 1.根据题目新设要求,我将它们分为两类:一类是用户输入数目,根据这个数目改变一系列后续问题:另一类是用户输入0或1,分情况解决问题. 2.针对这两类要求,具体设计思路已在上篇博文中写出 ...
- 被女朋友三番五次拉黑后,我用 Python 写了个“舔狗”必备神器
在一个阳光明媚的周日,我打开窗户呼吸了一口新鲜空气.阳光灿烂,岁月静好,又是一个约女朋友出去爬山吃饭看电影的好日子. 想到女朋友的大眼睛,我脸上不禁洋溢起了幸福的微笑.打开微信,给女朋友发出去一个美好 ...
- Swoole入门到实战 打造高性能 赛事直播平台(完整版)
Thinkphp+Swoole入门到实战打造高性能赛事直播平台 第1章 课程介绍 欢迎大家来到swoole的课程!本章主要是介绍了swoole的一些特性,以及使用场景,并且分享了swoole在其他公司 ...
- Thinkphp5.0 仿百度糯米 开发多商家 电商平台(完整版)
目录第1章 课程简介第2章 需求分析第3章 快速掌握thinkphp5第4章 任性的TP5模块第5章 生活服务分类管理模块第6章 百度地图应用封装第7章 打造属于TP5自己的发送邮件服务第8章 商户模 ...
- 结对作业——随机生成四则运算(Core 第7组)
结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...
- Linux学习总结(1)——Linux命令大全完整版
Linux命令大全完整版 目 录I 1. linux系统管理命令1 adduser1 chfn(change finger information)1 chsh(change shell)1 d ...
- AI工程师职业规划和学习路线完整版
AI工程师职业规划和学习路线完整版 如何成为一名机器学习算法工程师 成为一名合格的开发工程师不是一件简单的事情,需要掌握从开发到调试到优化等一系列能 力,这些能力中的每一项掌握起来都需要足够的努力 ...
- 《死磕 Elasticsearch 方法论》:普通程序员高效精进的 10 大狠招!(完整版)
原文:<死磕 Elasticsearch 方法论>:普通程序员高效精进的 10 大狠招!(完整版) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链 ...
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
随机推荐
- java 实现Word或Excel 转Pdf
1:首先需要引入相关的jar word转pdf需要引入 aspose-words-15.8.0-jdk16.jar 下载JAR包 Word http://note.youdao.com/notesha ...
- 英语词性系列-B01-名词
诗Poem 诫子书 [作者]诸葛亮 [朝代]三国时期 夫君子之行,静以修身,俭以养德.非淡泊无以明志,非宁静无以致远.夫学须静也,才须学也,非学无以广才,非志无以成学.淫慢则不能励精,险躁则不能治性. ...
- python2.7.15 + PyQt4部署
安装python模块首先想到的就是 https://pypi.org/,但在上面下载的PyQt4的包却找不到安装的方法,于是找找试其它方法,下面介绍通过pip安装whl的安装方式 1.先打开 http ...
- oracle+st_geometry
最近因为性能的原因开始关注通过oracle和st_geometry直接操作数据库来解决实际业务问题.主要还是用到了“使用 SQL 处理 ST_Geometry”.对此,ESRI给出的帮助文档中的解释如 ...
- linux之基本命令进阶
一 配置yum源管理与软件管理 yum常见工具 tree telent sl cowsay yum install tree #安装tree命令,以树形目录显示 #由于每次安装都有确认的提示,取 ...
- 洛谷P2342-叠积木
Problem 洛谷P2342-叠积木 Accept: 373 Submit: 1.1k Time Limit: 1000 mSec Memory Limit : 128MB Problem ...
- ethereum/EIPs-712 Ethereum typed structured data hashing and signing
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md eip title author discussions-to status ...
- 使用 ps、strace、lsof 进行 Linux 进程 trouble-shooting
linux_observability_tools 介绍 在Linux 下进行进程的排错,有很多方法.比如,修改源代码,print出一些关键的信息,如果代码是Python 的话,可以使用trace ...
- mysql 存儲emjoy表情是報錯Incorrect string value:
解决方法: [mysqld] character-set-client-handshake=FALSE character-set-server=utf8mb4 collation-server=ut ...
- 斯坦福HAI—细数全球18件AI大事记
3 月 18 日,由李飞飞担任所长之一的「以人为本人工智能研究所」(HAI)自启动以来不短的时间后,终于完成了正式成立的高光时刻.而正式上线的官网日前也更新了两条博文,一篇是详尽介绍 HAI 的文章: ...