一、内置函数range() 作用:用于生成一个整数序列 返回值是一个迭代器对象
range()的三种创建方式
1、第一种创建方式,只有一个参数(stop)
r=range(10) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],默认从0开始,默认相差1步长 print(r) #range(0, 10) print(list(r)) #用于查看range对象中的整数序列
2、第二种创建方式,有两个参数(start,stop)
r=range(1,10) #指定了起始值,从1开始,到10结束(不包含10),默认步长为1 print(list(r)) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
3、第三种创建方式,有三个参数(start,stop,step)
r=range(1,10,2) #指定了起始值、结束值以及步长 print(list(r)) #[1, 3, 5, 7, 9]
判断指定的整数在序列中是否存在 in,not in
print(10 in r) #False print(10 not in r) #True
二、循环结构 while
a=0 sum=0 while a<5: sum+=a a+=1 print(sum)
while循环的简单练习(计算1-100之间的偶数之和)
a=1 sum=0 while a<=100: if a%2==0: #如果这里是a%2 算出来的结果就是奇数 sum+=a a+=1 print(sum)
三、循环结构 for-in
for-in遍历的对象必须是可迭代对象 for 自定义变量 in 可迭代对象: 循环体
for i in range(10): print(i)
如果在循环体中不需要自定义变量,可以将自定义变量写为"_"
for _ in range(5): print("python真棒!")
使用for循环,计算0-100的偶数和
sum=0 for i in range(101): if i%2==0: sum+=i print(sum)
for-in练习题(100-999之间的水仙花数)
for item in range(100,1000): ge=item%10 shi=item//10%10 bai=item//100 if ge**3+shi**3+bai**3==item: #(2**3是2的3次方的意思) print("是水仙花数:",item)
四、流程控制语句 break
流程控制语句break break语句用于结束循环结构,通常与分支结构if一起使用
1、使用for举例
for item in range(3): pwd=input("请输入您的密码:") if(pwd=='8888'): print("密码正确") break else: print("密码错误")
2、使用while举例
a=0 while a<3: pwd=input("请输入您的密码:") if(pwd=='8888'): print("密码正确") break else: print("密码错误") a+=1
五、流程控制语句 continue
for item in range(1,51): if item%5!=0: continue print(item)
六、else语句
else总共有三种搭配
- if…else(if条件表达式不成立时执行else)
- for…else
- while…else (while和for都是没有碰到break时执行else)
1、for…else的使用情况是循环正常结束,没有碰到break
for item in range(3): pwd=input("请输入密码:") if (pwd == '8888'): print("密码正确") break else: print("密码错误") else: print('对不起,三次密码均输入错误')
2、while…else 与for…else的情况相同
a=0 while a<3: pwd=input("请输入您的密码:") if(pwd=='8888'): print("密码正确") break else: print("密码错误") a+=1 else: print('对不起,三次密码均输入错误')
七、嵌套循环
1、输出一个三行四列的矩形
for i in range(1,4): for j in range(1,5): print("*",end='\t') #记得要写end='\t' 否则就自动换行了 如果想要挨着,那么end=''就好 print() #换行
2、输出九九乘法表
for i in range(1,10): for j in range(1,i+1): print(j,'*',i,'=',i*j,end='\t') print()
3、二层循环里使用continue和break
for i in range(5): for j in range(1,11): if j%2==0: #break continue print(j,end='\t') print()