#内置函数 range(start,step,stop):创建一个[start,stop)之间的额整数序列,步长为step。
#只有一个参数
r=range(10)
print(r)#结果是一个迭代器对象
print(list(r))#查看序列中的具体数据,list是列表的意思,默认从0开始,相差1(步长);结果不包含10
#两个参数
r=range(2,10) #[2, 3, 4, 5, 6, 7, 8, 9]
print(list(r))
#三个参数
r=range(0,10,2)#步长为2
print(list(r))
#判断指定的整数,在序列中是否存在in,not in
print(10 in r)
print(8 in r)
print(10 not in r)
print(8 not in r)
#选择结构的 if 与循环结构 while 的区别:if 是判断一次,条件为True执行一行;while 是判断N+1次,条件执行体为N次。
#选择结构
a=1
if a<10:
print(a)
#循环结构
a=1
while a<10:
print(a)
a+=1
#计算0-4的累加和
sum=0
a=0 #初始化变量为0
while a<5: #条件循环体
sum+=a #改变变量
a+=1
print('和为:',sum)
#计算1-100之间的偶数和
sum=0
a=1
while a<=100:
if a%2==0:
sum+=a
a+=1
print('偶数和为:',sum)
#1-100之间的奇数和
sum=0
a=1
while a<=100:
if a%2:
sum+=a
a+=1
print('奇数和:',sum)
#同方法计算1-100偶数和
sum=0
a=1
while a<=100:
if not bool(a%2):
sum+=a
a+=1
print('偶数和:',sum)
#for-in循环
#in 表示从(字符串、序列等)中依次取值
#字符串
for item in "Python":
print(item) #将"Python"依次赋值给item
#序列
#range()产生整数序列——也是一个可迭代对象
for i in range(10):
print(i)
#如果在循环体中不需要使用自定义变量,可将变量写为"_"
for _ in range(5):
print('加油学python')
#使用for循环,计算1-100之间的偶数和
sum=0
for item in range(1,101):
if item%2==0:
sum+=item
print('1-100之间的偶数和',sum)
#输出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)
#break结束循环结构
#从键盘录入密码,最多录入3次,如果正确结束循环(for-in方法)
for item in range(3):
pwd=input('请输入密码')
if pwd=='8888':
print('密码正确')
break
else:
print('密码错误')
#while方法
a=0
while a<3:
pwd=input('请输入密码')
if pwd=='8888':
print('密码正确')
break
else:
print('密码错误')
a+=1 #注意要改变变量,不然不会结束循环
#continue结束当前循环,进行下次循环
#输出1-50之间所有5的倍数
#方法一
for item in range(1,51):
if item%5==0:
print(item)
#方法二,使用continue
for item in range(1,51):
if item%5!=0:
continue
print(item)
#循环语法与else 语句搭配使用的情况
#for-in语句
for item in range(3):
pwd=input('请输入密码')
if pwd=='8888':
print('密码正确')
break
else:
print('密码错误')
else:
print('对不起,三次密码输入错误')
#while语句
a=0
while a<3:
pwd=input('请输入密码')
if pwd=='8888':
print('密码正确')
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 j in range(1,i+1):
print('*',end='\t')
print()
#输出九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(j,'*',i,'=',j*i,end='\t')
print()
二重循环
二重循环中的break和continue用于控制本层循环。
for i in range(5):
for j in range(1,10):
if j%2==0:
break
print(j)
for i in range(5):
for j in range(1,10):
if j%2==0:
continue
print(j,end='\t')
print()