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

2023-11-17

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

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

需求分析阶段:

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • Linux开发工程师是吃青春饭的吗?

    Linux开发工程师怎么样 都说程序员是吃青春饭 Linux开发工作35岁之后还能做吗 坦白说 如果程序员在35岁的时候 工作经验 与刚毕业的时候差别不大 则其不可替代性就不高 很难在大龄时具备足够竞争力 大龄程序员 跟应该以专业洞识 理解
  • InterBase 6.5的新特性 (转)

    InterBase 6 5的新特性 转 more InterBase 6 5的新特性XML namespace prefix o ns urn schemas microsoft com Office office gt 作者 Bill T
  • Luat 功能开发教程(十四) 延时和定时器

    目录 延时和定时器 简介 API说明 实现流程 创建 消亡 自动消亡 手动消亡 判断定时器状态 知识拓展 示例 常见问题 相关资料以及购买链接 延时和定时器 简介 在luat脚本程序中 往往需要用到延时和等待等逻辑功能 例如 你想得到每隔3
  • 【el-time-picker设置默认值】Cannot read properties of undefined (reading ‘hour‘)

    需求 设置默认时间为2 0 0的时间选择器 产生报错的写法
  • 必填校验设置‘change‘, ‘blur‘同时起作用

    必填校验设置 change blur 同时起作用 rules seaAreaName required true message 请输入海区 trigger change blur
  • 华为机试-第二题

    查找知识图谱中的实例知识 知识图谱是一种结构化的语义网络 用于描述物理世界中的概念及其实例的相关关系 可以把知识图谱看成是一种有向图 图中的点是概念或实例 图中的边是概念及其实例的相关关系 现定义一种简单的知识图谱 概念 包括父概念及其子概
  • bootstrap jquery dataTable 异步ajax刷新表格数据

    异步请求 var postData env name new env name env url new env url env desc new env desc ajax type POST url test env add data p
  • Interactive Natural Language Processing

    本文是对 Interactive Natural Language Processing 的翻译 交互式自然语言处理 摘要 1 引言 2 交互式对象 2 1 人在环 2 2 KB在环 2 3 模型或工具在环 2 4 环境在环 3 交互界面
  • Oracle数据块概念及与行之间的关系测试

    数据块 Oracle Data Blocks 是Oracle最小的存储单位 Oracle数据存放在 块 中 一个块占用一定的磁盘空间 这里的 块 是Oracle的 数据块 不是操作系统的 块 操作系统的块通常为512k Oracle每次请求
  • openwrt 应用程序 开机自启动

    这几介绍一下openwrt 应用程序包开机自启动的两种方法 使用的平台是MTK7688开发板 首先写一个以及可以跑起来的工程 这里对工程就不做展开 以helloworld工程为例 helloworld工程写在 openwrt package
  • Python bs4怎么安装?

    bs4是BeautifulSoup4的简称 它是一个可以从HTML中提取数据的Python第三方库 具体来讲 bs4可以从茫茫的HTML代码中准确查找出你想要的内容 甚至一个小小的字符串 听起来是不是感觉bs4很厉害的样子 那么 Pytho
  • 预测模型的评价指标Matlab

    一般情况下 所要预测的数据分为连续型数据和离散性数据 连续型数据比如成绩分数 时间序列等 离散性数据通常为划分的分类标签 针对不同的数据类型 衡量模型的准确程度采用不同指标 如比较一些算法的准确率 若预测的数据为离散型 则算法的准确性自然容
  • 【综合转贴】CSS “点 ”“井号”的含义and ID class区别.

    body font family Arial sans serif color 333333 line height 1 166 margin 0px padding 0px masthead margin 0 padding 10px 0
  • 【3月比赛合集】45场可报名的数据挖掘奖金赛,任君挑选!

    CompHub 实时聚合多平台的数据类 Kaggle 天池 和OJ类 Leetcode 牛客 比赛 本账号同时会推送最新的比赛消息 欢迎关注 更多比赛信息见 CompHub主页 或 点击文末阅读原文 以下信息仅供参考 以比赛官网为准 目录
  • k8s部署之ETCD集群

    k8s部署之ETCD集群 1 etcd下载 etcd下载地址 https github com coreos etcd releases 从github etcd的发布页面选取相应的版本用 wget url 来下载 如 wget https
  • 【易售小程序项目】小程序首页(展示商品、商品搜索、商品分类搜索)【后端基于若依管理系统开发】

    文章目录 界面效果 界面实现 工具js 页面 首页 让文字只显示两行 路由跳转传递对象 将商品分为两列显示 使用中划线划掉原价 后端 商品 controller service mapper sql 同项目其他文章 界面效果 说明 界面中商
  • Docker容器中如何运行一个带GUI的app?

    问 How can you run GUI apps in a docker container Are there any images that set up vncserver or something so that you can
  • 图像处理之-----插值算法

    插值算法是图像处理中最基本的算法 首先我们先了解一下什么是插值算法 以及插值算法在图像处理过程中的应用 1 什么是插值 Interpolation is a method of constructing new data points wi
  • Redis 密码设置和查看密码

    Redis 密码设置和查看密码 redis没有实现访问控制这个功能 但是它提供了一个轻量级的认证方式 可以编辑redis conf配置来启用认证 1 初始化Redis密码 在配置文件中有个参数 requirepass 这个就是配置redis
  • Python软件开发之需求实现:数据结构、数据类型。自动化软件测试必会

    一 有这样的一个需求 判断学生成绩是否及格 二 拿到这样的一个需求如何进行需求分析呢 做为测试人员 我们只有明确需求后 才不容易漏测 需求分析阶段 一 看到这样的一句话之后我们有几个问题需求和产品经理确认的 1 什么样的算及格 60 70分