Python快速上手系列--循环结构--基础篇
本篇将讲述前几章都有提起的循环,非常的重要,对于自动化测试的脚本来说,运用的都比较的频繁。好好看。
if语句
首先我们先来学习一下if语句,因为它通常会和for循环搭配使用,频率极高。
if 关键字或条件判断:
条件(即为表达式):
条件也可以是输出语句
name = '托马'if name == '托马': print('正是托马')# 其结果是:# 正是托马
else:
name = '奔跑的托马'if name == '奔跑的托马': print('正是托马')else: print('不是托马')# 其结果是:# 正是托马
看看这个有意思的例题:
# 创建一个动物列表animal = ['cat','dog','duck','fish']#使用for循环遍历列表,定义一个新的变量用于循环animalfor animals in animal: #使用if做一个判断,判断刚刚新定义的变量是否有进行遍历,并判断列表中是否有cat这个字符串 if animals == 'cat': # 如果有,则以全字符大写的方式打印 print(animals.upper()) else: #否则 # 打印首字符大写 print(animals.title())# CAT# Dog# Duck# Fish
这里我们看到了一个新的知识,就是比较符==,这个是判断是否相等的一个比较运算符,这里会慢慢告诉小伙伴,后续还有!=不相等这样的判断,对于数字还有大于>、小于<、等于=、等这样的判断。
接下来我们看看不相等!=
request_name = 'dog'if request_name != 'cat': print('比较结果不相等')
在这里,我们定义一个变量为'dog'的字符串,然后我们使用if语句进行判断,判断它时候等于字符串'cat',如果不等于,打印一个结果告诉我们。在这里我们自己也可以判断,这个的程序的最后的结论是不相等。
看了上述,你是不是绝对还是很迷,那么我们来详细讲讲吧!顺带比较符号一起了哦,好好学,好好看,多实践。不懂的多码两遍就懂了!!!
age = 1if age > 19: print('Yes')else: print('No')
解释:这里我们定义一个年龄变量age,用if-else对它进行一个判断,让age于19比较,如果age这个数大于19,那么我们就输出yes否则输出no,pyhton后台会做一个判断,然后给到我们想要的结果,这里如果不加print进行打印,程序就会报错哦!
elif
我们接下来学习if-elif-else语句:
举一个很易懂的题目,定义一个年龄age = ?,如果大于十八岁收费20元,大于十岁小于十八岁收费10元,小于十岁免费!
让我们看程序:
age = 13if age < 10: print('小于十岁,免费')elif age < 18: print('大于十岁小于十八岁,收费10元')else: print('大于十八岁,收费20元')
解释:这里我们没有重复去判断大于十岁小于十八岁,这里你可以10<age<18也是可以的,我们用了elif在前面做了一个判断,所以在这里就不需要再次判断,这样写也给我我们带来了便捷。由于后面两个条件我们已经满足了,所以在尾部else那里直接打印就好,else是否则的意思,不需要再次坐条件判断了。
程序我们还可以改进,那就是省略else代码,只用elif,并且还可以使用多个elif
age = 65if age < 10: print('免费')elif age <= 18: print('收费10元')elif age <= 65: print('收费20元')elif age > 65: print('免费')
解释:这里也是采用上一个例子,多加了一个判断条件那就是<=
实战
animal = ['cat', 'dog', 'duck', 'fish', 'eagle', 'tortoise']new_animal = ['cat', 'fish', 'duck']for new_animals in new_animal: if new_animals in animal: print(f"{new_animals}:宠物还有哦") else: print(f"不好意思,{new_animals}:宠物没有了")# cat:宠物还有哦# fish:宠物还有哦# duck:宠物还有哦
解释:在这里我们看到了一个新的内容就是in,这个是判断是否包含在内,用户想买的动物是否包含在宠物店里面,用for循环遍历用户所需的宠物,再用if进行一个判断,如果用户所需要的宠物,宠物店有,则打印一个结果,否则,打印,不好意思,您所需的这些宠物没有了。
三元运算符
i = int(input("请输入一个数字"))print("你好,托马" if(i<10) else "你不好")# 你好,托马
这里print里面就是做了一个if else的判断。其写法等于以下:
if i<10: print("你好,托马")else: print("你不好")
while循环
while语句可以让程序运行你想运行次数,如果为True就会一直运行下去
while 条件语句:
条件判断,程序
i = 0while i < 5: print('托马 ') i += 1# 其结果是:# 托马 # 托马 # 托马 # 托马 # 托马
while为True的时候:
while True: i = input('请输入一个数:') if i == '1': break# 其结果是:# 请输入一个数:2# 请输入一个数:3# 请输入一个数:1
在这个while循环内我们不输入字符串1,就会一直循环下去,结束了,看看下面的例题你就明白了。
input函数
在学习while循环之前呢,我们先来学习一下input()函数,这个函数是让程序暂停运行,等待用户输入内容!看代码:
lisi = input("请输入内容:")print(lisi)
input函数的用法就是这样,括号内我们可以输入自己想要输出的提示语哦,记得只是字符串类型,他可以搭配if,for,while来使用,本章后面会有很多的小实战帮助你理解。
这里我们在控制台输入托马后按下回车键,python就会自己运行print直接将结果打印出来了。我们也可以将输入的内容定义类型,比如说整型int型:
lisi = int(input("请输入内容:"))print(lisi)# 写法二lisi = input("请输入内容:")zhangsan = int(lisi)print(zhangsan)
这里我们多了一步另外定义一个变量用于接收输入的内容,这里值得注意的是int型我们只能输入数字,输入字符串就会报错!!!
while循环
** while循环就是不断的运行程序,直到条件不满足为止!**
i =1while i < 5: print(i) i += 1
看上面这个实例,我们先是定义了一个变量i,i为1,下一步进入while循环,我们在while循环这里给到一个判断,也就是简单的数学逻辑判断,这里呢值得注意的就是i += 1,可能有些小伙伴看不懂,其实就是i = i+1,简便了一些。还有一点就是为什么这个i += 1放在 print后面。
我们开始就定义了一个变量i=1,我们要想输出5以内,1及1以上的数字,就必须要把i先输出,才能进行累加
如果我们的i = 0,那么i += 1放在print前面就是正确的,否则输出的就是2,3,4,5,就不符合我们想要的结果了
我们再看一个例子:
zhangsan = ""while zhangsan != "lisi": zhangsan = input("请输入内容:") print(zhangsan)
解释:
我们在while循环前面先定义一个字符串变量,如果在这里直接使用input函数,while循环就会陷入死循环。
这里还有一个不好的地方就是我们输入的内容也会被一起打印出来,解决方案就是一个if判断
zhangsan = ""while zhangsan != "lisi": zhangsan = input("请输入内容") if zhangsan != "lisi": print(zhangsan)
我们在这里又多做了一个判断,使用这个判断可以去除掉多余的内容哦。
除了自己使用逻辑判断,我们还可以直接使用while语句里面的真循环,也就是再不满足条件的情况下一直循环。除此之外,我们还有一系列的退出循环写法,看下面的例子
i = Truewhile i: zhangsan = input("请输入内容:") if zhangsan == "lisi": i = False else: print(zhangsan)
这里我们使用了False进行了结束循环,while True:会让程序再判断过程中不满足条件 的情况下一直运行。当满足时就会结束循环了。
练习
九九乘法表
for i in range(1,10): for n in range(1,i+1): print(f"{i}*{n}={i*n}",end='\t') print()
break语句
它可以控制哪些语句运行,哪些语句不运行哦。
while True: zh = input("请输入内容:") if zh == "托马": break else: print(f"是{zh}哦,不是托马哦")
放在这就是当zh满足条件的时候结束循环
continue
还有continue语句可以使用,它不会跟break一样,直接结束循环,continue可以根据条件进行判断是否执行接下来的程序运行
# 简单例子while True: i = input("请输入一个字母:") if i == 'q': continue elif i == 'w': break else: print('继续')# 请输入一个字母:q# 请输入一个字母:e# 继续# 请输入一个字母:w
# 复杂例子number = 0while number < 10: number += 1 if number % 2 == 0: continue print(number)
这里我们就如上面的例题所说的,设定一个变量为0,然后将累加放在的print前面了哦
这里的%时模余的意思(用当前数除以2取余),当余数为0 的时候进入continue,程序停止输出,当模余不为0的时候打印当前数
实战
# 定义一个变量姓名列表name = ['zhangsan','lisi','wangwu','zhaoliu']# 再定义一个以及完成验证的用户列表name_user = []while name: users = name.pop() print(f"已经验证的有:{users.title()}") name_user.append(users)for name_users in name_user: print(f"完成核验的用户有:{name_users.title()}")
在这里呢,我们简单的使用while进行了列表验证,里面我们用到了.pop(),.append(),.title()方法,这都是我们讲列表的时候讲到的哦,忘记了的小伙伴赶紧去复习,我们直接进入解释阶段:
.pop()方法是移除,但是我们还是可以访问到它,这里我们将移除的列表字符串给到一个新的变量,以便于后面的添加。.append()方法呢,是添加的意思,将前面移除的列表字符串添加到我们定义的空的列表中,再使用for循环进行打印。
我们还可以进行删除操作哦
name = ['zhangsan','lisi','wangwu','zhaoliu','zhangsan','lisi']while 'lisi' in name: name.remove('lisi')print(name)
这里我们用到了判断一个字符串是否包含再列表中,in方法,然后使用列表操作进行删除,并打印
for循环
在前面讲列表的时候我门用到了for循环,除此之外,for循环还可以有很多用处
range有三个参数:range(开始值默认0,结束值,步长)
在后面的学习过程中,你会经常看到for-range搭配使用。这里我们来举几个例子你就明白了。
for i in range(10): print(i)
这里输出了10以内的数字,python中range(10)是不允许大于等于10的,所以10不输出。
for i in range(1,10): print(i)
这里也是,从1开始到10,输出内容,但是不允许等于10,不输出10。
range步长
for i in range(1,10,2): print(i)
从1开始,每隔两个数字输出一次。其结果:1,3,5,7,9
实战
name_list = []while True: i = input('请输入名字') if i == 'name': break name_list.append(i)for n in name_list: print(n)"""请输入名字托马请输入名字无别事请输入名字name奔跑的托马"""
Python快速上手系列--循环结构--基础篇相关推荐
- Python快速上手系列--列表--详解篇
本章有部分超纲内容,可作为了解,提前学习学习. 列表 列表,主要使用[ ]来表示,我这里的加了一个空格,便于看清哦!看下面的例子 # 这里声明一个变量,后续便于输出class_name = [&quo ...
- Python快速上手系列--类--详解篇
本章是自动化测试的真正开始,因为在后续的过程中,你会接触到unittest框架,pytest框架,而不仅仅只是写一个函数+selenium脚本这么简单了. 1.创建类 1.1.了解类 我们首先了解一下 ...
- Python快速上手系列--字典--详解实战篇
本章字典篇,比较的重要,所以有比较多的练习小实战,一起来看看吧. 字典 什么是字典: 字典:是一系列的键值对,每一个键都会有对应的一个值关联,它们可以是数字 ,字符串,列表以及字典本身.用{}来表示. ...
- c语言 字符串转运算符,快速上手系列-C语言之基础篇(二)数据类型与运算符...
在上一篇文章<快速上手系列-C语言之基础篇(一)>中写了关于C语言的程序结构,关键字及控制语句.本篇主要写写C语言中数据类型,以及运算符相关方面的知识. 一.变量与常量 1.常量:在程序运 ...
- thinkcmf5调用指定分类的二级_Tengine快速上手系列教程amp;视频:基于Python API的图片分类应用入门丨附彩蛋...
前言:近期,Tengine团队加班加点,好消息接踵而来,OpenCV 4.3.0发布,OPEN AI LAB AIoT智能开发平台Tengine与OpenCV合作共同加速边缘智能,Tengine再获业 ...
- 视频教程-Linux系列课程(基础篇)-Linux
Linux系列课程(基础篇) 2年JavaEE开发 ,5年资深大数据开发大牛,曾就职于蓝点科技,擅长精准广告系统开发,精通Linux操作系统! 具备丰富的大数据研发和培训经验,熟练运用Hadoop和S ...
- 调试器工作原理系列一: 基础篇
调试器工作原理系列一: 基础篇 本文是一系列探究调试器工作原理的文章的第一篇.我还不确定这个系列需要包括多少篇文章以及它们所涵盖的主题,但我打算从基础知识开始说起. 关于本文 我打算在这篇文章中介绍关 ...
- 手摸手,带你用vue撸后台 系列一(基础篇) - 掘金
完整项目地址:vue-element-admin 系列文章: 手摸手,带你用 vue 撸后台 系列一(基础篇) 手摸手,带你用 vue 撸后台 系列二(登录权限篇) 手摸手,带你用 vue 撸后台 系 ...
- spring cloud 快速上手系列 -> 02-配置中心 Config -> 022-Config客户端
spring cloud 快速上手系列 系列说明:快速上手,一切从简,搭建一个简单的微服务框架,让新手可以在这个基础框架上做各种学习.研究. 02-配置中心 Config 022-Config客户端 ...
最新文章
- TC配置文件WCMD.INI详解,只能在ini重修改的配置
- JSTL fmt标签格式化日期时分秒显示为00:00:00和12:00:00问题
- Mybatis---总结
- SQL Server基础之存储过程
- pyton中的self具体含义,加self与不加self有什么区别?
- hdu 3853 LOOPS 概率DP
- java自定义jsp标签_深入浅出javaWeb实战第17讲自定义JSP标签(上)
- php柱状图html代码,html5生成柱状图(条形图)效果的实例代码
- IPMI接口和BMC控制器
- 反思: Google 为何把 SurfaceView 设计的这么难用?
- 主板装机测试软件,主板检测工具:PSPident v0.74.1版发布
- 粉笔公考——错题集——行测
- Android项目:基于Android安卓医院挂号预约系统软件app(计算机毕业设计)
- 【个人整理】一文看尽目标检测算法SSD的核心架构与设计思想
- 阿里、腾讯、华为、紫光、脸书、港交所等公司高管变动
- 中间件weblogic部署详情
- 全国计算机一级office试题及答案,全国计算机一级msoffice考试题库附答案
- 提效80倍!优维CMDB好样的
- 超详细介绍!!!带你认识各种进制数的及其转换以及原码,反码,补码
- 华为m2android怎么升级,【刷机指导】华为平板M2 8 EMUI4.0回退EMUI3.1指导教程
热门文章
- 【异常检测-论文阅读】(CVPR 2022)Self-Supervised Predictive Convolutional Attentive Block for Anomaly Detection
- win下禁用光标闪烁 记录
- 群晖服务器删除文件后不见可用空间增大的,查询群晖NAS硬盘空间占用情况,解决删除文件空间不增加问题...
- 职场吐槽大会:一起聊聊职场里的奇葩人奇葩事
- 2008-1-14 《软件工程》课后习题解答...
- Hadoop 之 Avro
- 一篇文章带你搞定 MongoDB 实现 REST
- 用AI技术防止幼儿园虐待儿童,中国研究员研发视频流分析模型
- Java学习手册:(数据结构与算法-数组)如何求绝对值最小的数?
- centos7应用笔记:键盘重影射