软件工程基础第二次作业

 一.作业信息

GIT地址

 https://github.com/kitpit/

GIT用户名

 kitpit

学号后五位

 61414

博客地址

https://i.cnblogs.com/EditPosts.aspx?postid=11547469 

作业链接

 https://www.cnblogs.com/harry240/p/11515697.html

 

 

 

 

 

 

 

 

 

二. 博客内容

1.环境配置

由于以前安装过VS以及GIT ,我以为这次会简单得多,结果遇到了很大的问题,GIT安装得很成功

 

 

 

 

 

 

 

 

 

 

 

 

 

 

但是VS的 setup bootstrapper点击未完成安装,大概是操作系统的问题,所以后续不会用到VS。

 

 

 

 

 

 

 

2.代码设计

程序需求:

 

  • 程序接收一个命令行参数 n,然后随机产生 n 道加减乘除(分别使用符号+-*/来表示)练习题,每个数字在 0100 之间,运算符在 2 个 到 3 个之间。
  • 由于阿超的孩子才上一年级,并不知道分数。所以软件所出的练习题在运算过程中不得出现非整数,比如不能出现 3÷5+2=2.6 这样的算式。
  • 练习题生成好后,将生成的 n 道练习题及其对应的正确答案输出到一个文件 subject.txt 中。

设计思路:

  • 算式的生成:引入随机函数,随机产生1~100的数字与运算符,将其组合成算式。
  • 算式的计算:判断算式结果是否含有小数,若有,舍弃。返回继续生成符合用户输入数量的算式。
  • 打印算式及答案:将算式列表即答案保存到subject.txt,打印输出。

 

生成两个列表,一个存储随机数,根据随机数的数量插入相应数量的运算符。

import random
a = random.randint(1, 100)
b = random.randint(1, 100)
c = random.randint(1, 100)
d = random.randint(1, 100)
number1 = ['a', 'b', 'c']
number2 = ['a', 'b', 'c', 'd']
# number1,number2 分别存放运算符为2和3时的数字。
op = ['+', '-', ', '÷']
op = random.shuffle(op)  # 对列表中的运算符随机排序

 

根据运算符的个数将运算符插入相应数字所在列表中

r = random.randint(2, 3) # 算式含有运算符的个数

if r == 2:
    number1.insert(1, op[0])
    number1.insert(3, op[1])
    number1 = [str(i) for i in number1]
    number1 = ''.join(number1)
    print (number1)
else:
    number2.insert(1, op[0])
    number2.insert(3, op[1])
    number2.insert(5, op[2])
    number2 = [str(i) for i in number2]
    number2 = ''.join(number2)
    print (number2)

 

输出算式:

 

 

 

 

 

3.使用Github

由于时间有点赶,还没有学会如何Git操作。

 

4.单元测试

不是很懂,利用接下来的时间补起

 

 

 

 

三.作业感想

当我为无法安装VS困惑时看到另一位同学用了PyCharm完了作业(https://www.cnblogs.com/FourtyTwo/p/11536719.html),深感欣慰,正好可以复习一下python。可见办法总是有的,同时也感谢这位同学。但是当我真正做的时候遇到了不少麻烦,许久没用python,已经有些生疏,加上平时很少写代码,花了很长时间进行算法分析。但是这次开始时间比较晚,所以在规定时间内做得不好,这也使我意识到凡事要趁早,下次争取尽早完成作业。虽然做得不行,但这也是一个学习得过程,我会利用接下来得时间完善这次和以后的作业。

 

posted @ 2019-09-21 18:44  FangT  阅读(166)  评论(0编辑  收藏  举报