Python软件开发之需求实现:数据结构、数据类型。自动化软件测试必会

一、有这样的一个需求:判断学生成绩是否及格

二、拿到这样的一个需求如何进行需求分析呢?做为测试人员,我们只有明确需求后,才不容易漏测。

需求分析阶段:

(一)看到这样的一句话之后我们有几个问题需求和产品经理确认的:

1.什么样的算及格?60-70分算及格

2.判断的是什么成绩?数学,语文,英语

3.是否需要判断不及格,良好,优秀?是的情况下,不及格,良好和优秀的标准是什么?

不及格0-59,良好70-80,优秀80分以上

(二)了解完以上之后我们就可以写代码了吗?答案是no。需要进一步的去拆分需求,如何拆分呢,我们把它转化成界面原型的,这样有利于帮助我们进一步的进行需求的分析
Python软件开发之需求实现:数据结构、数据类型。自动化软件测试必会_第1张图片
(1)看到这样的原型图,想到了什么?是不是输入框的规则是什么?

每一个输入框:

(1.1)是否允许为空。不能为空

(1.2)是否允许重复。允许重复

(1.3)是否允许为负数。允许负数

(1.4)是否允许小数。允许小数

(1.5)是否允许非数字:字母,字符,汉字。不允许非数字

(2)提交的时候包含哪些功能实现?

(2.1)计算和判断

(3)计算如何实现?例如三个数为a,b,c 求和之后再求平均数,简单吧,小学生都会 。

(a+b+c)/3

(4)判断如何实现?设计到判断的为了更明确同样的可以把它转为流程图:如下
Python软件开发之需求实现:数据结构、数据类型。自动化软件测试必会_第2张图片
三、以上分析完之后,如何用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 0 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 0 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 0 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 0 print(“不及格”)
elif 60<=avg<70:
print(“及格”) #边界 ,69.99
elif 70<=avg<80:
print(“良好”)
elif 80<=avg<=100:
print(“优秀”)

(四)输入非数字会报错怎么办?
在这里插入图片描述
加一个异常处理,具体实现如下
Python软件开发之需求实现:数据结构、数据类型。自动化软件测试必会_第3张图片
Python软件开发之需求实现:数据结构、数据类型。自动化软件测试必会_第4张图片

你可能感兴趣的:(软件测试,python,编程语言,算法,人工智能)