软件工程基础第二次作业
一.作业信息
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
道加减乘除(分别使用符号+-*/
来表示)练习题,每个数字在0
和100
之间,运算符在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,已经有些生疏,加上平时很少写代码,花了很长时间进行算法分析。但是这次开始时间比较晚,所以在规定时间内做得不好,这也使我意识到凡事要趁早,下次争取尽早完成作业。虽然做得不行,但这也是一个学习得过程,我会利用接下来得时间完善这次和以后的作业。