3. 数字和计算
乙醇 创建于 about 7 years 之前
最后更新: less than a minute 之前
阅读数: 223
背景
几乎所有的编程语言都支持数学计算。不要认为不是数学高手就不能学习编程,很多时候我们在代码里只会用到非常简单的数学运算,常见的有
- +: 加法
- -: 减法
- /: 除法
- *: 乘法
- %: 整除取余
- <: 小于
- >: 大于
- >=: 大于等于
- <=: 小于等于
考虑这样的场景,我们的测试用例一个分布在3个模块(A/B/C),A模块有30个用例,成功运行27个, B模块有40个用例,全部成功运行,C模块有30个用例全部运行成功,假设每个用例执行一次平均需要5分钟,打印出一些测试报告的明细。
代码实现
新建名为report_with_math.py
,内容如下
# 打印出本次测试的测试结果
# A: 27/30 B: 40/40 C: 30/30
print('本次测试覆盖了3个模块')
print('测试用例总数为: ', 30 + 40 + 30)
print('执行的测试用例总数为: ', 30 + 40 + 30)
print('用例最多的模块是B模块,B模块比A模块多出的用例数为', 40 - 30)
print('A模块执行成功27个用例,执行失败的用例数为', 30 - 27)
print('B模块的用例全部执行通过, 通过率为百分之', (40 / 40) * 100)
print('C模块的用例全部执行通过, 通过率为百分之', (30 / 30) * 100)
print('B模块的用例比C模块多吗?', 40 > 30)
print('A模块的用例比C模块多吗?', 30 > 30)
print('B模块的用例比C模块少吗?', 40 < 30)
# 结束打印
print('回归不通过')
运行
在命令行中使用下面的命令去执行代码
python report_with_math.py
你应该可以看到
如果没有出错的话,你应该可以看到命令行窗口显示如下的内容
本次测试覆盖了3个模块
测试用例总数为: 100
执行的测试用例总数为: 100
用例最多的模块是B模块,B模块比A模块多出的用例数为 10
A模块执行成功27个用例,执行失败的用例数为 3
B模块的用例全部执行通过, 通过率为百分之 100.0
C模块的用例全部执行通过, 通过率为百分之 100.0
B模块的用例比C模块多吗? True
A模块的用例比C模块多吗? False
B模块的用例比C模块少吗? False
回归不通过
动手时间
- 在每一行上面用#加上注释,解释一下这行代码的作用
- 找一些自己需要计算的东西,比如早餐吃3个包子才能吃饱,每个包子3块钱,那么早餐要花多少钱才能吃饱。建立.py文件去计算并执行
- 算一下模块A的通过率,找资料了解一下python的浮点数(float)类型,模块A的通过率的预期结果应该是0.9
常见问题
- %号是怎么工作的: 取余数,比如 15 % 4 的结果是3, 16 % 4的结果是0;
- 运算符号的优先级是怎么样的: 跟我们小时候学习的四则混合运算一样,乘除优先于加减,有括号的话括号优先,把握不准的情况下,把需要优先计算的部分用括号括起来;