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

这篇博客详细介绍了如何使用Python实现一个自动化判断学生成绩是否及格的需求,包括需求分析、代码实现和异常处理。涉及数据输入验证、计算平均分以及根据不同分数范围输出评价等级。
摘要由CSDN通过智能技术生成

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

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

需求分析阶段:

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

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)判断如何实现?设计到判断的为了更明确同样的可以把它转为流程图:如下
在这里插入图片描述
三、以上分析完之后,如何用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<avg<60:
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<avg<60:
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<avg<60:
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<avg<60:
print(“不及格”)
elif 60<=avg<70:
print(“及格”) #边界 ,69.99
elif 70<=avg<80:
print(“良好”)
elif 80<=avg<=100:
print(“优秀”)

(四)输入非数字会报错怎么办?
在这里插入图片描述
加一个异常处理,具体实现如下
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值