range生成指定序列
固定格式
for x in range(n):执行体
在循环的时候,经常跟range() 函数结合在一起使用。
循环10次。
for i in range(10):print(f"开始循环,第{i}次循环")

需要注意点:
- for循环 循环体中 需要由tab 键的缩进。
- i 可以改为任意的变量名,在循环体中引用的时候只需要保持一致就可以了。
变量名不能使用数字 , 也不能使用除了 _ 之外的特殊字符 。
range(m,n)
也可以指定生成序列
和字符串中 [m:n] 一样的。
生成1-10 的数字
for i in range(1,11):print(i)

range(m,n,step)
和字符串 [m:n:step] 原理一样,可以指定步长。
生成 1-100 之内的奇数.
for i in range(1,101,2):print(i)
练习
计算1+2+3+4+5+6+…+100 之和。
基本的操作
result = 0# +1result = result + 1print(result)# +2result = result + 2print(result)# +3result = result + 3print(result)
可以 依次通过 + 1 +2 +3 的方式 计算,人工计算非常慢
可以使用for循环。
result = 0for i in range(1,101):result = result + i# 当for循环执行完成之后。 可以获取最终的结果print(result)
嵌套循环
我们在循环中添加循环。循环时候需要注意 tab键缩进。
for x in range(3):print(f"x的值 {x}")# 循环中可以再写循环for y in range(5):# 打印的时候 print 默认会换行 end 指定自定义结束符print(f"y的值 {y}",end="\t")# y 循环完成之后,什么都不打印,只做一个换行。print()
运行结果。
在使用嵌套循环的时候,一定要注意缩进问题。
for 循环列表
基本语法
for x in 列表:执行体
循环列表 🎈
for name in ["zhangsan","lisi","","&&&***"]:print(name)

给定这样的两组数据。
用户名: “zhangsan”,””,”*&&&”
密码: “12345”,”123456”,”12345678901234567”,””
使用上面的用户名和密码进行登录,请问有多少种组合方式。
usernames = ["zhangsan","","***&&&"]passwords = ["12345","123456","12345678901234567",""]for name in usernames:for passwd in passwords:print(f"用户名 {name}, 密码:{passwd}")
可以看到执行结果。
扩展
如果一个注册页面,注册用户需要三个参数
- 手机号
- 密码
- 验证码
phones = ["13211112222","130","***&&&",""]passwds = ["123456","","abc1234"]codes = ["1234","666666",""]
请设计程序,将所有可能注册场景数据打印出来。
phones = ["13211112222","130","***&&&",""]passwds = ["123456","","abc1234"]codes = ["1234","666666",""]for phone in phones:for passwd in passwds:for code in codes:print(f"phone: {phone}, passwd: {passwd}, code: {code}")print("----------------------------------")
应用场景🎈
在做接口自动化,单接口测试的时候,比如测试注册,登录接口,需要异常数据,平时的做法是将这些异常数据手动放在csv文件中,但是学完这些python代码之后,我们也可以通过python的方式将上面生成的测试数据自动放到csv文件中。写入csv文件的操作,需要我们学完 csv模块就可以了。在这里我们先标记一下。
csv 模块结合使用
while 循环
for 循环的内容的数据是有限的。
- 可以通过 range() 指定循环次数。
- 也可以循环list 可以循环完。
while 循环可以无限次循环。比如在做一些密码破解的时候,使用暴力破解,不确定什么时候能够破解成功,就可以使用 while 循环一直循环下去。
基本语法
while True:print("我要攻击你的服务器")
使用while循环
使用while 循环的时候,一般情况下,也需要给定一个停止的条件。
# 定义原始的密码passwd = "**345"print("开始破解密码")# 使用一个变量表示是否破解成功is_success = False# 没有破解成功--就一直破解while not is_success:# 可以让用户在命令行输入密码input_passwd = input("请输入密码: ")#如果输入密码正确if input_passwd == passwd:print(f"成功破解,密码为{input_passwd}")is_success = Trueelse:print("继续破解")
执行的时候,手动在命令行中输入
这里主要介绍使用 while 循环的方法 通过下循环体内 更改变量is_succed.
input() 函数
input() 是python中自带函数 类似 print(). input() 可以提供给用户输入数据的接口。
a = input("请输入内容:")print(f"输入了 {a}")

while 循环指定运行次数
指定运行10次
n = 0while n<10:print(f"执行 {n} 次")# 更改n的值n = n+1 # 执行一次 将n的值增加1


