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
# +1
result = result + 1
print(result)
# +2
result = result + 2
print(result)
# +3
result = result + 3
print(result)
可以 依次通过 + 1 +2 +3 的方式 计算,人工计算非常慢
可以使用for循环。
result = 0
for 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 = True
else:
print("继续破解")
执行的时候,手动在命令行中输入
这里主要介绍使用 while 循环的方法 通过下循环体内 更改变量is_succed.
input() 函数
input() 是python中自带函数 类似 print(). input() 可以提供给用户输入数据的接口。
a = input("请输入内容:")
print(f"输入了 {a}")
while 循环指定运行次数
指定运行10次
n = 0
while n<10:
print(f"执行 {n} 次")
# 更改n的值
n = n+1 # 执行一次 将n的值增加1