37.for_in循环

for-in循环

in表达从(字符串、序列等)中依次取值,又称为遍历

for-in遍历的对象必须是可迭代对象

for-in的语法结构

for 自定义的变量 in可迭代对象:

循环体

for-in的执行图

 

python for循环影响不到外面变量的值 python for in循环不能遍历的类型_python

循环体内不需要访问自定义变量,可以将自定义变量替代为下划线

 

#可迭代(三种方式)
for item in  'Python':  #第一次取出来的是P,将P赋值值item,将item的值输出
    print(item)
#range() 产生一个整数序列,--->也是一个迭代对象
for i in range(10): #循环9次
    print(i)
#如果在循环体中不需要使用到自定义变量,可将自定义变量写为"_"
for _ in range(5):  #表示(0 1 2 3 4)从0开始循环五次
    print('人生苦短,我学python')

#使用for循环,计算1到100之间的偶数和
sum=0   #用于存储偶数和
for item in range(1,101):   #从1遍历到100不包括101 代表循环100次
    if item%2==0:   #如果除2取余数等于0 说明是偶数
        sum+=item   #判断条件满足,偶数累加
print('1到100之间的偶数和为:',sum)



#结果
P
y
t
h
o
n
0
1
2
3
4
5
6
7
8
9
人生苦短,我学python
人生苦短,我学python
人生苦短,我学python
人生苦短,我学python
人生苦短,我学python
1到100之间的偶数和为: 2550

 

38.for_in练习题_100到999之间的水仙花数

""输出100到999之间的水仙花数
举例:153=3*3*3+5*5*5+1*1*1"""
for item in range(100,1000):    #遍历100到999之间的水仙花数
    ge=item%10  #个位
    shi=item//10%10    #十位
    bai=item//100   #百位
    # print(bai,shi,ge)
    #判断
    if ge**3+shi**3+bai**3==item:
        print(item)
        
        
 #结果
 153
370
371
407

 

39.流程控制语句break

break语句

用于结束循环结构,通常与分支结构if一起使用

python for循环影响不到外面变量的值 python for in循环不能遍历的类型_学python_02

#使用for循环

"""从键盘录入密码,最多录入3次,如果正确就结束循环"""
for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='8888':
        break
    else:
        print('密码不正确')
        
#结果
请输入密码:1234
密码不正确
请输入密码:5896
密码不正确
请输入密码:8888

 

# 使用while循环

"""从键盘录入密码,最多录入3次,如果正确就结束循环"""
a=0
while a<3:
    """条件执行体(循环体)"""
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
        """改变变量"""
        a+=1
        
        
#结果
请输入密码:5554
密码不正确
请输入密码:1234
密码不正确
请输入密码:8888
密码正确

 

40.流程控制语句continue

continue语句

用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用

 

python for循环影响不到外面变量的值 python for in循环不能遍历的类型_自定义_03

"""要求输出1到50之间所有5的倍数,5,10,15,20,25·····
5的倍数的共同点: 和5的余数为0的数都是5的倍数
声明样的数不是5的倍数,1,2,3,4,5,6,7,8,9····与5的余数不为0的数都不是5的倍数
要求使用continue"""
for item in range(1,51):
    if item%5==0:
        print(item)

print('-----使用continue----')
for item in range(1,51):
    if item%5!=0:
        continue
    print(item)
    
#结果
20
25
30
35
40
45
50

 

 

41.else语句

与else语句配合使用的三种情况

else的搭配:

if....else....---->if条件不成立时执行else

while...else...--->没有碰到break时执行else

for....else.....--->没有碰到break时执行else

#使用for循环
for item in range(3):   #执行三次
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
else:
    print('对不起,三次密码错误')
    
#结果
请输入密码:85220
密码不正确
请输入密码:888
密码不正确
请输入密码:8888
密码正确
#使用while循环
a=0
while a<3:
    pwd=input('请输入密码')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
    """改变变量"""
    a+=1
else:
    print('对不起,三次密码均输入不正确')

#结果
请输入密码1234
密码不正确
请输入密码5678
密码不正确
请输入密码8888
密码正确