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的作用是提前结束本轮循环,并直接开始下一轮循环。

posted @ 2021-09-12 20:57  难删亦删  阅读(417)  评论(0)    收藏  举报