一、有这样的一个需求:判断学生成绩是否及格
二、拿到这样的一个需求如何进行需求分析呢?做为测试人员,我们只有明确需求后,才不容易漏测。
需求分析阶段:
(一)看到这样的一句话之后我们有几个问题需求和产品经理确认的:
1.什么样的算及格?60-70分算及格
2.判断的是什么成绩?数学,语文,英语
3.是否需要判断不及格,良好,优秀?是的情况下,不及格,良好和优秀的标准是什么?
不及格0-59,良好70-80,优秀80分以上
(二)了解完以上之后我们就可以写代码了吗?答案是no。需要进一步的去拆分需求,如何拆分呢,我们把它转化成界面原型的,这样有利于帮助我们进一步的进行需求的分析
(1)看到这样的原型图,想到了什么?是不是输入框的规则是什么?
每一个输入框:
(1.1)是否允许为空。不能为空
(1.2)是否允许重复。允许重复
(1.3)是否允许为负数。允许负数
(1.4)是否允许小数。允许小数
(1.5)是否允许非数字:字母,字符,汉字。不允许非数字
(2)提交的时候包含哪些功能实现?
(2.1)计算和判断
(3)计算如何实现?例如三个数为a,b,c 求和之后再求平均数,简单吧,小学生都会 。
(a+b+c)/3
(4)判断如何实现?设计到判断的为了更明确同样的可以把它转为流程图:如下
(1)看到这样的原型图,想到了什么?是不是输入框的规则是什么?
每一个输入框:
(1.1)是否允许为空。不能为空
(1.2)是否允许重复。允许重复
(1.3)是否允许为负数。允许负数
(1.4)是否允许小数。允许小数
(1.5)是否允许非数字:字母,字符,汉字。不允许非数字
(2)提交的时候包含哪些功能实现?
(2.1)计算和判断
(3)计算如何实现?例如三个数为a,b,c 求和之后再求平均数,简单吧,小学生都会 。
(a+b+c)/3
(4)判断如何实现?设计到判断的为了更明确同样的可以把它转为流程图:如下
三、以上分析完之后,如何用python代码进行实现呢?如何把它转化为计算机认识的语言
1.三个输入框。
(1.1)程序中输入用 :input
(1.2)输入完之后得有地方存放输入的这个值怎么做,起个名呗,a=input("输入的时候加个提示")
(1.3)语文,数学,英语,三个数,那么就写三个:
num1=input("请输入语文成绩")
num2=input("请输入数学成绩")
num3=input("请输入英语成绩")
2.计算:avg=(num1+num2+num3)/3
3.判断用什么,
if 条件:
输出结果
elif条件:
输出结果
else:
输出结果
(1)条件为上图菱形的判定框中的表达式:0<=avg<60
(2)输出用:print("提示")
(3)转为计算机程序为如下
if 060:
print("不及格")
elif 60<=avg<70:
print("及格")
elif 70<=avg<80:
print("良好")
elif 80<=avg<=100:
print("优秀")
四、根据以上 第“三”段落中的分析结果:1--》(1.3) 和 2. 和 3.---》(3)
(一)前提:安装python,安装pycharm编辑器
(二)打开pycharm,file--new---python file # 把这1--》(1.3) 和 2. 和 3.---》(3)当中的数据拷贝进来
num1=input("请输入语文成绩")
num2=input("请输入数学成绩")
num3=input("请输入英语成绩")
avg=(num1+num2+num3)/3
if 060:
print("不及格")
elif 60<=avg<70:
print("及格") #边界 ,69.99
elif 70<=avg<80:
print("良好")
elif 80<=avg<=100:
print("优秀")
(3)右键run,允许后结果报错,为什么?
(3.1)因为在python 中 input() 输入的数据类型为字符串类型(str)
(3.2)可以在输入后加一个print(type(num1)),查看一下改变量的数据类型
(3.3)怎么办呢?强制类型转化为数字型 按照错误提示。注意python中除了引号引起来的内容,其他的全部为英文,尤其是()要注意用英文的
num1=int(input("请输入语文成绩"))
num2=int(input("请输入数学成绩"))
num3=int(input("请输入英语成绩"))
avg=(num1+num2+num3)/3
if 060:
print("不及格")
elif 60<=avg<70:
print("及格") #边界 ,69.99
elif 70<=avg<80:
print("良好")
elif 80<=avg<=100:
print("优秀")
(3.4)run 不会报错了
(三)输入小数怎么办?以上的输入是int型的,输入5.99小数同样会报错。那么我们把它变为小数float类型的
num1=float(input("请输入语文成绩"))
num2=float(input("请输入数学成绩"))
num3=float(input("请输入英语成绩"))
avg=(num1+num2+num3)/3
if 060:
print("不及格")
elif 60<=avg<70:
print("及格") #边界 ,69.99
elif 70<=avg<80:
print("良好")
elif 80<=avg<=100:
print("优秀")
(四)输入非数字会报错怎么办?
加一个异常处理,具体实现如下