本次作业要求参见:[https://edu.cnblogs.com/campus/nenu/2019fall/homework/7631]

结对伙伴:徐丽君

功能1  四则运算

支持出题4个数的四则运算题目,所有题目要求作者有能力正确回答。

重难点:随机生成多个表达式,用户输入的答案要与正确答案相比较。python中有一个函数eval能计算表达式的结果。判断结果使用一个answer 的列表存储每一个输入的答案,再用for 提取其中的每个答案并与result中的结果一一对应,判断其对错。

重点代码片段

def integer(n):ch = []                               #存储表达式number = random.randint(1, 4)        #随机产生表达式的数量for i in range(number):rand = random.randint(0, 1)       #随机产生0和1 判断是否使用括号a = func_integer(number)          #调用表达式产生函数,产生表达式if rand == 0:op = operation[random.randint(2,3)]    #产生*,/来连接有括号的表达式,避免产生+,—rand = random.randint(0, 1)            #随机产生0和1 判断是否使用内嵌括号或外嵌括号if i != number - 1:                    #避免开始和结尾用无意义的括号if rand == 0:ch.append('(')ch.append(a)ch.append(op)ch.append(random.randint(1,10))ch.append(')')ch.append(operation[random.randint(0, 3)])else:ch.append(a)ch.append(operation[random.randint(0, 3)])else:ch.append(a)ch.append(operation[random.randint(0, 3)])else:ch.append(a)ch.append(operation[random.randint(0, 3)])f = ''for k,i in enumerate(ch):             #把列表中的所有值用f一个个连起来if k != len(ch)-1:f += str(i)result_integer(f, n)                  #调用输出函数

运行截图:

功能2  支持括号

重难点:生成括号,随机生成括号,判断是否符合生成括号的条件,避免一个表达式也生成括号 。

重点代码片段

def func_integer(number):f = ''ch = []rand = random.randint(0, 1)  #选择内嵌或外嵌括号if number != 1:         #避免一个表达式也产生括号if rand == 0:ch.append('(')op = operation[random.randint(0, 3)]ch.append(random.randint(1, 10))ch.append(op)ch.append(random.randint(1, 10))ch.append(')')else:op = operation[random.randint(0, 3)]if op == '/':a = random.randint(1, 10)ch.append(a)ch.append(op)ch.append(random.randint(a, 10))else:ch.append(random.randint(1, 10))ch.append(op)ch.append(random.randint(1, 10))else:op = operation[random.randint(0, 3)]if op == '/':a = random.randint(1, 10)ch.append(a)ch.append(op)ch.append(random.randint(a, 10))else:ch.append(random.randint(1, 10))ch.append(op)ch.append(random.randint(1, 10))for i in ch:       #把产生表达式当成一个整体f += str(i)return f

运行截图:

功能4  支持括号

重难点:支持真分数的运算,避免单独一个表达式生成括号。

重点代码片段

def func_integer(number):f = ''ch = []rand = random.randint(0, 1)  if number != 1:        if rand == 0:ch.append('(')op = operation[random.randint(0, 3)]ch.append(random.randint(1, 10))ch.append(op)ch.append(random.randint(1, 10))ch.append(')')else:op = operation[random.randint(0, 3)]if op == '/':a = random.randint(1, 10)ch.append(a)ch.append(op)ch.append(random.randint(a, 10))else:ch.append(random.randint(1, 10))ch.append(op)ch.append(random.randint(1, 10))else:op = operation[random.randint(0, 3)]if op == '/':a = random.randint(1, 10)ch.append(a)ch.append(op)ch.append(random.randint(a, 10))else:ch.append(random.randint(1, 10))ch.append(op)ch.append(random.randint(1, 10))

(1)编程体会:

       本次是和徐丽君同学组队进行的结对编程,两人编程难免就会有意见不合的地方,互相都想说服对方,比如首先在编程语言的选择上就会有分歧,最后选择了Python语言。另外,自己的编程能力不够,而且对Python语言并不了解,对我来说是一门新的语言。在这个过程中,徐丽君同学悉心为我指点,我也查阅了很多资料,尽量让自己跟上她的脚步。不得不说两个人共同完成编程会提供多种思路,且效率会更高一些。

(2)编码收获以及花费时间较长和给我较大收获的事件:

  1. 在争论究竟采用哪种编程语言上花了一些时间,最后选择了Python语言编写。
  2. 这次作业中,学习了新的编程语言,安装Python环境,查阅了很多相关资料,收获很多。
  3. 对于代码的编写规范方面,编写时经常忘记遵守,导致编译失败,花费了不少的时间,在循序渐进后,我们会互相提醒对方,避免这种现象的发生。
  4. 由于两人擅长的语言不同,但对代码编程思路上有着不同的理解和思路,也让项目进度快了许多,学会了两人合作共同编程,现在能比较有默契也算是一个大的收获吧。
  5. 我的编写能力一般,查阅博客和资料以及队友的口头指点花了不少时间,也对我有了较大收获,在此非常感谢我的室友徐丽君同学。

(3)给出照片1张,包括结对的2位同学、工作地点、计算机

工作地点:星华公寓B320

计算机:徐丽君同学的笔记本

照片:

(4)版本控制

git地址:https://e.coding.net/xulijun/sizeyunsuan.git

转载于:https://www.cnblogs.com/lymh/p/11573877.html

罗杨美慧 20190919-6 四则运算试题生成,结对相关推荐

  1. 罗杨美慧 20190919-2 功能测试

    本作业要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/7627] 要求一:bug计分  bug1 (1)标题:         罗 ...

  2. 罗杨美慧 20190912-2 命令行

    此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/6582] 1.熟悉 命令行和控制台 请用C语言开发应用程序d.exe,从 ...

  3. 罗杨美慧 20180912-3 词频统计

    此作业的要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/6583 词频统计 编写一个名为wf的程序,统计英文作品的单词量并给出每个单 ...

  4. 罗杨美慧 20190919-3 效能分析

    作业要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/7628] 要求0 以 战争与和平 作为输入文件,重读向由文件系统读入.连续三 ...

  5. 罗杨美慧 20190919-5 代码规范,结对要求

    本次作业要求参见:[https://edu.cnblogs.com/campus/nenu/2019fall/homework/7630] 结对伙伴:徐丽君 使用语言:Python 参考博客: htt ...

  6. 罗杨美慧 20190905-1 每周例行报告

    此作业的要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/5521 本周PSP 本周进度条 累计进度图 代码累计折线图 博文字数累积折 ...

  7. 罗杨美慧 20190919-4 单元测试,结对

    此作业的要求参见:[https://edu.cnblogs.com/campus/nenu/2019fall/homework/7629] 结对伙伴:徐丽君 要求1 对每个功能,先给出测试用例,然后再 ...

  8. 罗杨美慧 20190912-1 每周例行报告

    此作业的要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/6581 本周PSP 本周进度条 累积进度图 代码累积折线图 博文字数累积折 ...

  9. 罗杨美慧 20190919-1 每周例行报告

    此作业的要求参见:[https://edu.cnblogs.com/campus/nenu/2019fall/homework/7626] 本周PSP 本周进度条 累积进度图 代码累积折线图 博文字数 ...

最新文章

  1. 红外遥感设计报告论文+电路原理图
  2. 使用内存映射文件在进程之间共享数据
  3. 数据结构源码笔记(C语言):B树的相关运算算法
  4. 剑指Offer——不用加减乘除做加法
  5. Log4j2使用总结
  6. .NET开源工作流CCFlow-快速入门
  7. 乐视android版本怎么升级,乐视网android手机客户端升级推出V2.0版
  8. VIVADO常见警告、错误及解决方法
  9. python 描述统计_Python统计学-004:描述统计-众数
  10. 无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域。...
  11. 如何使用BetterZip的压缩密码管理器?
  12. Thingsboard 3.1.0 - 远程控制和GPIO状态显示
  13. 如何在Visio中绘制KPT模型中的用户(小人)?在哪里找?
  14. 计算机优秀毕业生访谈,访谈 | 信息院优秀毕业生经验分享
  15. 4针串口线接法图_com串口线接法
  16. 附录一 常见概率分布及相关公式
  17. Orge配置Debug - 在Mac上利用Homebrew安装指定版本的Cmake
  18. 小工具推荐:tokei(高效统计代码行数)
  19. 冒充云销售的懒虫和毒虫们
  20. 万里长征第一步(非常重要) —— 如何愉快的阅读本小册

热门文章

  1. 【数据库实验】实验二 学习SQL 语句的数据操纵与视图
  2. Unity GoogleVR Cardboard 开发
  3. 天龙DBP-1611UD蓝光播放机回顾
  4. cocos2dx layer理解
  5. 【定量分析、量化金融与统计学】多元回归模型与回归推理
  6. python获取cpu温度_如何获得树莓派CPU实时温度值
  7. 上海房产税免征--积分或居住证
  8. 终端类型 xterm linux,Linux的终端类型
  9. android path拆分_Android知识总结——Path常用方法解析
  10. MATLAB图像处理—imfindcircles的输出变量含义