一、内置函数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()