Python-循环
反复的执行一段代码
Python中有两种类型的循环: while 循环 和 for 循环
一、while循环
检查一个条件表达式,只要条件表达式计算结果为True 时, 就执行下面缩进的代码
# 只要条件表达式计算结果为True 时, 就执行下面缩进的代码
# 直到条件表达式计算结果为False时,结束 循环
command = input("请输入命令:")
while command != 'exit':
print(f'输入的命令是{command}')
command = input("请输入命令")
死循环
i = 1
while i <= 100:
print(i)
# 不输入i +=1,死循环
i += 1
二、for循环
1.示例
通常是从一个sequence类型,比如 字符串、列表 或者 元组中 依次取出每个元素进行操作
studentAges = ['小王:17', '小赵:16', '小李:17', '小孙:16', '小徐:18']
# student 变量就依次代表了 studentAges里面的每一个元素
for student in studentAges:
print(student)
while也可,复杂
studentAges = ['小王:17', '小赵:16', '小李:17', '小孙:16', '小徐:18']
# 变量idx代表 列表当前元素的索引
idx = 0
while idx < len(studentAges):
currentEle = studentAges[idx]
print(currentEle)
idx += 1
2.循环n次
# range里面的参数100 指定循环100次
# 其中 n 依次为 0,1,2,3,4... 直到 99
# range是一个类;不是一个函数,不会返回一个数字列表
# 想返回一个 从 0到99的数字列表,写 : list(range(100))
for n in range(100):
print(n)
print('python,我爱你')
# range(50,101) 表示从 50 开始, 到 100 结束
for n in range(50,101):
print(n)
# range(50,101) 表示从 50 开始, 到 100 结束,每次增加5
for n in range(50,101,5):
print(n)
返回列表
list1=[]
for n in range(100):
list1.append(f'java,我爱你第{n}次')
print(list1)
3.enumerate函数
函数遍历得到每个元素在列表/元组里面的索引
# 找出下面列表中年龄大于17岁的学员,打印出他们在列表中的索引
# 先热身,定位到年纪
studentAges = ['小王:17', '小赵:16', '小李:18', '小孙:16', '小徐:18']
for student in studentAges:
# for循环取到列表中的第一个字符串 '小王:17'
# split将字符串小王和17截取,变为了数组 ['小王','17']
# 再利用数组索引拿到年龄,但是此时年龄为字符串,所以需要转换为int类型
s=student.split(':')[1]
si=int(s)
print(s)
print(si)
if s == si:
print('vergood')
else:
print('菜鸡')
# enumerate 函数
studentAges = ['小王:17', '小赵:16', '小李:17', '小孙:16', '小徐:18']
# enumerate (studentAges) 每次迭代返回 一个元组
# 里面有两个元素,依次是 元素的索引和元素本身
for idx, student in enumerate(studentAges):
if int(student.split(':')[-1]) > 17:
print(idx)
# 不用enumerate函数
for student in studentAges:
if int(student.split(':')[-1]) > 17:
# 当满足条件,拿列表元素返回索引值
idx= studentAges.index(student)
print(idx)
三、判断语句
1.布尔表达式
# 两个比较对象相等则为True
# 两个比较对象不相等则为False
1 == 1
# 两个比较对象不相等
1 != 2
# 大于、大于等于
1 >= 0
# 连写比较式
num = 3
2< num <5
2.条件组合
# 表达式1 and 表达式2
True and True # 结果为 True
True and False # 结果为 False
False and True # 结果为 False
False and False # 结果为 False
# 表达式1 or 表达式2
True or True # 结果为 True
True or False # 结果为 True
False or True # 结果为 True
False or False # 结果为 False
# not反转其结果
# 运算顺序:() not and or
3.判断语句
if else
def registerUser():
phone = input('请输入你的手机号码(不超过11个字符):')
# 与phone变量位置相同,不需要缩进
if len(phone) > 11:
print('输入错误!手机号码超过了11个字符')
# 还需要进一步判断 输入的是否全数字
# elif == else if
elif not phone.isdigit() : # isdigit 是字符串对象的方法,下一章会学到
print('输入错误!手机号码必须全是数字')
else:
print('手机号码输入正确')
print('函数结束')
条件嵌套
四、跳出继续
break的作用是提前结束循环。
continue的作用是提前结束本轮循环,并直接开始下一轮循环。

浙公网安备 33010602011771号