python avg_python开发从测试角度如何实现功能

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

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

需求分析阶段:

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

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

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

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

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

(二)了解完以上之后我们就可以写代码了吗?答案是no。需要进一步的去拆分需求,如何拆分呢,我们把它转化成界面原型的,这样有利于帮助我们进一步的进行需求的分析

a7d6992a32c58717d96b911bfc385be7.png

(1)看到这样的原型图,想到了什么?是不是输入框的规则是什么?

每一个输入框:

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

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

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

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

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

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

(2.1)计算和判断

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

(a+b+c)/3

(4)判断如何实现?设计到判断的为了更明确同样的可以把它转为流程图:如下

9ede47e0bf8386e0d7ece6cd2b2ee020.png

三、以上分析完之后,如何用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,允许后结果报错,为什么?

7ee93c31397a0bf40443453f58c8f1b0.png

(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("优秀")

(四)输入非数字会报错怎么办?

acfccc7181ae37fbf3ba419acb9959aa.png

加一个异常处理,具体实现如下

92a32c321e9d187222e2aefe5effa866.png

dc4714d94a66412df1c940716dc7872e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程概述教会学员快速学会python数据分析,覆盖python基础,pandas,seaborn,matplotlib,SQL,sqlite,lambda等知识。课程是数据科学家居家必备的军火库。课程定期更新,大部分视频分辨率支持2K超清,学员可以看清每一行代码。 适合人群python数据科学从业人员,数据分析师,统计 学习计划和方法1.每天保证1-2个小时学习时间,预计7-15天左右可以学习完整门课程(不同基础学生时间差异较大)。2.每节课的代码实操要保证,建议不要直接复制粘贴代码,自己实操一遍代码对大脑记忆很重要,有利于巩固知识。3.第二次学习时要总结上一节课内容,必要时做好笔记,加深大脑理解。4.不懂问题要罗列出来,先自己上网查询,查不到的可以咨询老师。 作者介绍Toby,持牌照金融公司担任模型验证专家,国内最大医药数据中心数据挖掘部门负责人!和清华大学出版社,重庆儿科医院,中科院教授,赛柏蓝保持慢病数据挖掘项目合作!管理过欧美日中印巴西等国外药典数据库,马丁代尔数据库,FDA溶解度数据库,临床试验数据库,WHO药物预警等数据库。原创公众号(python风控模型) 课程概述教会学员快速学会python数据分析,覆盖python基础,pandas,seaborn,matplotlib,SQL,sqlite,lambda等知识。课程是数据科学家居家必备的军火库。课程定期更新,大部分视频分辨率支持2K超清,学员可以看清每一行代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值