Python_note_005(Python中的循环结构,内置函数range()、while循环语句、for循环语句、嵌套循环、打印99乘法表)
内置函数range()
-
用于生成一个整数序列
-
三种创建方式
# range()的三种创建方式 r1=range(2,10,2)#起始值,终止值,步长 r2=range(5,20)#起始值,终止值 r3=range(5)#起始值 print('三种创建方式结果:+++'+'\n',list(r1),'\n',list(r2),'\n',list(r3)) print(8 in r1)
-
返回值是一个迭代器对象
-
range类型的特点
不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会计算序列中的相关元素
-
in和not in可以判断整数序列中是否存在或不存在指定的整数
循环结构分类为(while,for in)
-
while循环
# 循环结构 ''' 4步循环法 1.初始化变量 2.条件判断 3.条件执行体 4.改变变量 总结:初始化的变量与条件判断的变量与改变的变量为同一个 ''' n=1 sum=0 while n<=10: sum+=n n+=1 print(sum) # 练习题 计算1到1w00之间的偶数 a=1 sum2=0 while a<=100: if not bool(a%2):#a%2==0 sum2 += a a+=1 print(sum2)
-
for in循环
# for in 循环 for i in '12345678': print(i) for i2 in range(2,10,2): print(i2) for _ in range(5): print('我要学python') print('for循环计算1到100的偶数和') sum_for=0 for item in range(0,101,2): sum_for+=item print(sum_for) # 练习题,,计算100到999之间的水仙花数 for item in range(100,1000): g=item%10 s=item//10%10 b=item//100 if g**3+s**3+b**3==item: print(item)
流程控制语句
-
break语句(跳出循环)
# 从键盘录入密码,最多录入3次,如果正确就结束循环 print('for循环方式++++++++++++++++++++') a=0;#记录输入密码的次数 for item in range(3): i=input('请输入密码') a+=1 if i=='888888': print('密码正确') break else: if a==3: print('以输错超过三次,账号已锁定') else: print('密码错误') print('while循环方式+++++++++++++++++++') w=0 while w<3: i2=input('请输入密码') if i2 =='888888': print('密码正确') break else: if a == 3: print('以输错超过三次,账号已锁定') else: print('密码错误') w+=1
-
continue语句(跳出当前,从头执行)
# 要求输出1到50之间所有5的倍数,5,10,15等 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语句
-
while 或者 for和else一起用时,如果没有break时就执行else中的语句
print('for else循环方式++++++++++++++++++++') for item in range(3): i=input('请输入密码') if i=='888888': print('密码正确') break else: print('密码错误') else: print('以输错超过三次,账号已锁定') print('while else循环方式+++++++++++++++++++') w=0 while w<3: i2=input('请输入密码') if i2 =='888888': print('密码正确') break else: print('密码错误') w+=1 else: print('以输错超过三次,账号已锁定')
嵌套循环
-
在循环里还有个循环
#输出99乘法表+++++++++++++ for i in range(1,10): for j in range(1,i+1): #print(str(j)+'*'+str(i)+'='+str(i*j),end='\t') print(j,'*',i,'=',j*i, end='\t') print()
二重循环中的break和continue
-
用于控制本层的循环
# 二重循环中的break和continue的使用 for i in range(1,6): for j in range(1,20): if j%2==0: #break continue print(j,end='\t') print()