本篇将讲述前几章都有提起的循环,非常的重要,对于自动化测试的脚本来说,运用的都比较的频繁。好好看。
if语句
首先我们先来学习一下if语句,因为它通常会和for循环搭配使用,频率极高。
if 关键字或条件判断:
条件(即为表达式):
条件也可以是输出语句
name = '清安' if name == '清安': print('正是清安') # 其结果是: # 正是清安
else:
name = '清安无别事' if name == '清安无别事': print('正是清安') else: print('不是清安') # 其结果是: # 正是清安
看看这个有意思的例题:
# 创建一个动物列表 animal = ['cat','dog','duck','fish'] #使用for循环遍历列表,定义一个新的变量用于循环animal for 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 = 1 if 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 = 13 if age < 10: print('小于十岁,免费') elif age < 18: print('大于十岁小于十八岁,收费10元') else: print('大于十八岁,收费20元')
解释:这里我们没有重复去判断大于十岁小于十八岁,这里你可以10<age<18也是可以的,我们用了elif在前面做了一个判断,所以在这里就不需要再次判断,这样写也给我我们带来了便捷。由于后面两个条件我们已经满足了,所以在尾部else那里直接打印就好,else是否则的意思,不需要再次坐条件判断了。
程序我们还可以改进,那就是省略else代码,只用elif,并且还可以使用多个elif
age = 65 if 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 = 0 while 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 =1 while 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 = True while 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 = 0 while 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 清安 无别事 """