循环(for、while、break、continue)

循环

一、 for - in循环

语法结构:
for 变量 in 集合:
#针对可迭代对象(集合);循环的次数,取决于迭代集合的大小

遍历列表:

 a=[1,2,3,4]
for i in a:
    print(i)

结果:

1
2
3
4

遍历列表及索引:

a=['php','人工','数据']
for x,y in enumerate(a):
    print(x,y)

输出结果:

0 php
1 人工
2 数据

遍历元组:

a=('php','人工','数据')
for x,y in enumerate(a):
    print(x,y)

输出结果

0 php
1 人工
2 数据

遍历字典

items(): 返回字典内key-value对
keys():返回字典内所有key列表
values(): 返回字典内所有value列表

例:

a={'php':"123",'人工':"456",'数据':"789"}
for x,y in a.items():
    print(x,y)
a={'php':"123",'人工':"456",'数据':"789"}
for x in a.keys():
    print(x)
a={'php':"123",'人工':"456",'数据':"789"}
for x in a.values():
    print(x)

遍历字符串:

a="123456"
for i in a:
    print(i)

练习:
构造一个列表,其有正数、负数、零构成。将其中的正数输出。

a=["123","345","-234", False]
for i in a:
    if int(i)> 0:
        print(i)

输出结果:
123;345

二、for—in次数控制

2.1 语法结构:
range(开始值,结束值,间隔)
#range函数生成数字列表,可以指定:开始值,结束值,间隔 ——结束值不在区间中

a=range(0,10,5)
print(a)#生成可迭代对象,(类型是对象)

输出结果

range(0, 10, 5)

加上列表

a=range(0,10,5)
print(list(a))#把可迭代对象转换成一个列表

输出结果:

[0, 5]

注意:

c = range(1,5)#默认距离1
print(list(c))
d = range(5)#默认从0开始
print(list(d))

输出结果:
[1, 2, 3, 4]
[0, 1, 2, 3, 4]

2、2 循环:

for x in range(1,4):
    print(x,"循环")

输出结果:
1 循环
2 循环
3 循环

练习1:计算1到100的和。

x=range(1,101)
y=sum(x)
print(y)   

输出结果:5050
也可以一步到位:

print(sum(range(1,101)))

练习2:输出1到100内所有的奇数。

for x in range(1,100):
    if x%2==1:
        print(x)
for x in range(1,100,2):
    print(x)

练习3:将1到100以内所有被7整除的数输出。

for x in range(1,100):
    if x%7==0:
        print(x)
for x in range(0,100,7):
    if x!=0:
        print(x)

三、while循环

语法结构:
while 条件表达式:
         循环体
#shile循环:条件为真时,运行循环体;需要注意:最后要让条件表达式不成立

增值案例:

i = 0
while i < 5:
print(i)
i += 1

输出结果:
1
2
3
4

减值案例:

i = 5
while i > 0:
print(i)
i -= 1

输出结果:
5
4
3
2
1
练习1:输出10以内的所有奇数:

x=1
while x<10:
    if x%2==1:
        print(x)
    x+=1
x=1
while x<10:
    print(x)
    x+=2

输入名字案例(空值):

name="" #知识点:空值为假,非空值为真 
while not name:
	name=input('请输入您的姓名:') 
print("您好:",name)

输出结果:

请输入您的姓名:
请输入您的姓名:
请输入您的姓名:
请输入您的姓名:张三
您好: 张三

练习2:
将1到100以内所有被7整除的数输出。
• 方式A:通过控制初始值和循环变量的方式。
• 方式B:通过循环结构嵌套选择结构的方式。

x=0
while 0<x<100 :
    print(x)
    x+=7

x=1
while x<100:
    if x%7==0:
        print(x)
    x+=1

四、while遍历

基础案例:
挨个遍历

a = [7,9,8,10]
i = 0
while i < len(a):
    print(a[i])
    i += 1

输出结果:
7
9
8
10
奇偶数遍历:

a=[1,3,45,4,5,6,7,867,65,735]
i=0
x=[]#x定义成偶数
y=[]#定义成奇数
while i<len(a):
    if a[i]%2==0:
        x.append(a[i])
    else:
        y.append(a[i])
    i+=1
print("偶数:",x)
print("奇数:",y)

为索引遍历
输出结果:
偶数: [4, 6]
奇数: [1, 3, 45, 5, 7, 867, 65, 735]

a=[1,3,45,4,5,6,7,867,65,735]
x=[]#x定义成偶数
y=[]#定义成奇数
while len(a)>0:
    i=a.pop()
    if i%2==0:
        x.append(i)
    else:
        y.append(i)
print("偶数:",x)
print("奇数:",y)

删除最后一位进行判断奇偶性,直到遍历完成。

偶数: [6, 4]
奇数: [735, 65, 867, 7, 5, 45, 3, 1]

练习:计算一个列表内:
• 奇数的个数。
• 偶数的个数。

a=[1,3,45,4,5,6,7,867,65,735]
x=[]#x定义成偶数
y=[]#定义成奇数
while len(a)>0:
    i=a.pop()
    if i%2==0:
        x.append(i)
    else:
        y.append(i)
print("偶数的个数:",len(x))
print("奇数的个数:",len(y))

输出结果:

偶数的个数: 2
奇数的个数: 8

五、跳出循环

语法结果:
循环(while或for-in)
    if表达式
        break
break语句:结束循环,完全结束一个循环,跳出循环体
核心理解:不需要完成整个循环

例:
列表内是否处在零值:

a=[1,3,45,0,4,5,65,735]
x=0
numbers=1
for y in a:
    print("这是第",numbers,"次循环")
    if y==0:
        x=1
    numbers+=1
if x==0:
    print("列表里没有零")
else:
    print("列表里有零")

输出结果:

这是第 1 次循环
这是第 2 次循环
这是第 3 次循环
这是第 4 次循环
这是第 5 次循环
这是第 6 次循环
这是第 7 次循环
这是第 8 次循环
列表里有零
当有break时:
a=[1,3,45,0,4,5,65,735]
x=0
numbers=1
for y in a:
    print("这是第",numbers,"次循环")
    if y==0:
        x=1
        break
    numbers+=1
if x==0:
    print("列表里没有零")
else:
    print("列表里有零")

输出结果:

这是第 1 次循环
这是第 2 次循环
这是第 3 次循环
这是第 4 次循环
列表里有零

练习:
使用break,判断一个列表内,是否存在奇数

a=[2,4,45,0,4,5,65,735]
x=0
number=1
for y in a:
    print("这是第",number,"次循环")
    if y%2==1:
        x=1
        break
    number+=1
if x==1:
    print("存在")
else:
    print("不存在")

输出结果:

这是第 1 次循环
这是第 2 次循环
这是第 3 次循环
存在

六、跳出循环continue

语法:
语法结果:
循环(while或for-in)
    if表达式
        continue
continue语句:结束循环,忽略当前循环的剩下语句,从下一次执行
核心理解:本次循环的后续不执行了,从下一轮继续。

输出列表内的奇数:

a=[2,4,45,0,4,5,65,735]
for i in a:
    if i%2==0:
        continue
    print(i)
45
5
65
735

自我理解:当你满足条件时,continue就给你结束,后面就不输出了,此次循环就结束了,开始下一循环。

输出指的关注的值:

a = [14,46,76,-98,68,13,78,45,65,-100,200]
for x in a:
    if 0<=x<=100:
        continue
    print("请关注异常值:",x)
请关注异常值: -98
请关注异常值: -100
请关注异常值: 200

练习:输出一个列表内,所有被3整除的数

a = [14,46,76,-98,68,13,78,45,65,-100,200]
b =[]
for i in a:
    if i%3!=0:
        continue
    b.append(i)
print("所有被三整除的数",b)

输出结果:

所有被三整除的数 [78, 45]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值