目录
1.range()函数的使用
2.循环结构
1.while循环
2.for-in循环
3.break,continue与else语句
4.嵌套循环
1.range()函数的使用
-
用于生成一个整数序列
-
创建range对象的三种方式
用于生成一个整数序列
创建range对象的三种方式
-
返回值是一个迭代器对象
-
range类型的优点:不管range对象表示的整数序列有多少,所有range对象占用的内存空间都是相同,因为仅仅需要储存start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素
-
in与not in判断整数序列中是否存在(不存在)指定的整数
#range()的三种创建方式 '''第一种创建方式,只有一个参数(小括号中只给了一个数)''' r = range(10) #[0,1,2,3,4,5,6,7,8,9],默认从0开始,默认相差1称为步长 print(r) #range(0,10) print(list(r)) #用于查看range对象中的整数序列 --》list是列表的意思 '''第二种创建方式,给了两个参数(小括号中给了两个数)''' r = range(1,10) #指定了起始值,从1开始,到10结束(不包含10),步长为1 print(list(r)) #[1,2,3,4,5,6,7,8,9] '''第三种创建方式,给了三个参数(小括号给了三个数)''' r = range(1,10,2) print(list(r)) #[1,3,5,7,9] '''判断指定的整数 在序列中是否存在in,not in''' print(10 in r) #False,10不在当前的r这个整数序列中 print(9 in r) #True,9在当前的r这个序列中 print(10 not in r) #True print(9 not in r) #False print(range(1,20,1)) #[1...19] print(range(1,101,1)) #[1....100]
2.循环结构
-
反复做同一件事情的情况,称为循环
-
循环结构的流程图
反复做同一件事情的情况,称为循环
循环结构的流程图
-
循环的分类
-
while
-
for
-
-
语法结构
while 条件表达式:
条件执行体(循环体)
-
选择结构的if与循环结构while的区别
-
if是判断一次,条件为True执行一次
-
while是判断N+1次,条件为True执行N次
a = 1 #判断条件表达式 while a<10: #执行条件执行体 print(a) a+=1
-
1.while循环
-
四步循环法
-
初始化变量
-
条件判断
-
条件执行体(循环体)
-
改变变量
-
while循环的执行流程
#计算0到4之间的累加和
'''
4步循环法
1.初始化变量
2.条件判断
3.条件执行体(循环体)
4.改变变量
总结:初始化的变量与条件判断的变量与改变的变量为同一个
'''
sum =0 #用于存储累加和
'''初始化变量为0'''
a = 0
'''条件判断'''
while a<5:
'''条件执行体'''
sum += a
'''改变变量'''
a += 1
print('和为',sum)
四步循环法
-
初始化变量
-
条件判断
-
条件执行体(循环体)
-
改变变量
while循环的执行流程
练习:计算1-100的偶数和
print(bool(0))
'''计算1-100的偶数和'''
'''初始化变量'''
a = 1
sum = 0
'''条件判断'''
while a<=100:
'''条件执行体(求和)'''
#条件判断是否为偶数
if not bool(a%2):#if a%2==0:
sum += a
'''改变变量'''
a+=1
print('1-100之间的偶数和',sum)
2.for-in循环
-
for-in循环
-
in表达从(字符串,序列等)中依次取值,又称遍历
-
for-in遍历的对象必须是可迭代对象
-
for-in的语法结构
for 自定义的变量 in 可迭代对象:
循环体
-
for-in的执行图
for-in循环
-
in表达从(字符串,序列等)中依次取值,又称遍历
-
for-in遍历的对象必须是可迭代对象
for-in的语法结构
for 自定义的变量 in 可迭代对象:
循环体
for-in的执行图
-
循环体内不需要访问自定义变量,可以将自定义变量替代为下划线
for item in 'Python': #第一次取出来的是p,将p赋值item,将item,将item的值输出
print(item)
#range()产生一个整数序列,--》也是一个可迭代对象
for i in range(10):
print(i)
#如果在循环体中不需要使用到自定义变量,可将自定义变量写为“_”
for _ in range(5):
print('人生苦短,我用python')
#计算1-100的偶数和
sum =0
for item in range(1,101):
if item%2==0 :
sum+=item
print('1-100之间的偶数和为:',sum)
练习:输出100-999的水仙花数
'''输出100-999之间的水仙花数 举例: 153=3*3*3+5*5*5+1*1*1 ''' for item in range(100,1000): ge = item % 10 #各位 shi = item//10%10 #十位 bai = item//100 #百位 #print(bai,shi,ge) #判断 if ge**3+shi**3+bai**3==item: print(item)
3.break,continue与else语句
-
流程控制语句break
-
用于结束循环结构,通常与分支结构if一起使用
'''从键盘录入密码,最多录入3次,如果正确就结束循环'''
for item in range(3):
pwd = input('请输入密码:')
if pwd =='888':
print('密码正确')
break
else:
print('密码不正确')
a =0
while a<3:
'''条件执行体(循环体)'''
pwd = input('请输入密码')
if pwd =='8888':
print('密码正确')
break
else:
print('密码不正确')
'''改变变量'''
a+=1
-
流程控制语句continue
-
用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用
'''要求输出1-50之间所有5的倍数,5,10,15,20,25
5的倍数的共同点,和5的余数为0的数都是5的倍数
什么样的数不是5的倍数,1,2,3,4,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) -
else语句
-
与else语句配合使用的三种情况
for item in range(3):
pwd = input('请输入密码:')
if pwd == '8888':
print('密码错误')
break
else:
print('密码错误')
else:
print('对不起,三次密码均输入错误')
a = 0
while a<3:
pwd = input('请输入密码')
if pwd == '8888':
print('密码正确')
break
else:
print('密码不正确')
'''改变变量'''
a+=1
else:
print('对不起,三次密码均输入错误')
4.嵌套循环
-
循环结构中又嵌套了另外的完整的循环结构,其中内层循环做为外层循环的循环体执行
流程控制语句break
-
用于结束循环结构,通常与分支结构if一起使用
'''从键盘录入密码,最多录入3次,如果正确就结束循环'''
for item in range(3):
pwd = input('请输入密码:')
if pwd =='888':
print('密码正确')
break
else:
print('密码不正确')
a =0
while a<3:
'''条件执行体(循环体)'''
pwd = input('请输入密码')
if pwd =='8888':
print('密码正确')
break
else:
print('密码不正确')
'''改变变量'''
a+=1
流程控制语句continue
-
用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用
'''要求输出1-50之间所有5的倍数,5,10,15,20,25
5的倍数的共同点,和5的余数为0的数都是5的倍数
什么样的数不是5的倍数,1,2,3,4,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) else语句
-
与else语句配合使用的三种情况
for item in range(3):
pwd = input('请输入密码:')
if pwd == '8888':
print('密码错误')
break
else:
print('密码错误')
else:
print('对不起,三次密码均输入错误')
a = 0
while a<3:
pwd = input('请输入密码')
if pwd == '8888':
print('密码正确')
break
else:
print('密码不正确')
'''改变变量'''
a+=1
else:
print('对不起,三次密码均输入错误')
-
循环结构中又嵌套了另外的完整的循环结构,其中内层循环做为外层循环的循环体执行
for i in range(1,4): #行表,执行三次,一次是一行
for j in range(1,5):
print('*', end='t')
print() #打印
#输出三角形
for i in range(1,10):
for i in range(1,i+1):
print('*',end='')
print()
#输出九九乘法表 for i in range(1,10): for j in range(1,i+1): print(i,'*',j,'=',i*j,end='t') print()
-
二重循环中的break和continue用于控制本层循环
'''流程控制语句break与continue在二重循环中的使用'''
for i in range(5): #代表外层循环要执行5次
for j in range(1,11):
if j%2==0:
#break #直接跳到外部循环
continue
print(j,end='t')
print()
总结:



