内置函数range
用于生成一个整数序列
range(a)#生成一个[0,a)的整数序列
rang(a,b)#生成一个[a,b)的整数序列
range(a,b,c)#生成一个[a,b)的整数序列,步长为c
#例子
range(0,8,2)#生成序列0,2,4,6
返回迭代器序列
可以使用in和not in判断整数序列中是否存在特定整数
使用list可以将得到的结果转换为列表,例如list(range(0,8,2))得到[0,2,4,6]
循环
指的是反复做同一件事,即反复执行同样的代码
while循环
while 条件表达式:
条件执行式(循环体)
判断条件表达式是否为真,为真则执行条件执行式,执行之后再次判断条件表达式,不断循环,如果条件表达式为假,则中断循环
例:计算1-100的偶数和
a=2
sum=0
while a<=100:
sum+=a
a+=2
print('the sum is '+str(sum))
for-in循环
in表示从字符串或序列中依次取值,也叫遍历,其对象必须是可迭代对象
for 变量 in 可迭代对象:
循环体
例子:找到100-999之间的水仙花数,水仙花数就是其个位数的三次方、十位数的三次方、百位数的三次方之和等于其本身
for i in range(100,1000):
#个位数
a=i%10
#十位数
b=(i%100-a)/10
#百位数
c=(i-a-b*10)/100
#计算每个数的三次方之和
sum=a**3+b**3+c**3
#进行判断
if(sum==i):
print(i,'是一个水仙花数')
流程控制语句break
break语句用于结束循环
注意,设置循环时要考虑什么时候让循环停下,不要设置一个死循环
流程控制语句continue
continue语句用于结束当前这次循环,进入下一次循环,其与break的区别是break直接结束整个循环,跳出循环,而contiue结束的是当前这次循环,然后进入下一次循环
else语句
有三种情况,一种是与if结合使用,表示条件表达式为假时执行的操作
另外两种情况是与while和for搭配,表示在没有遇到break时执行else,即如果没有遇到break,循环正常执行完之后就会执行else之后的操作
例如:提示输入密码,正确密码为1111,正确时输出right,错误时输出wrong,并且再次提示输入密码,总共只有三次机会,如果三次都用完了,则提示已经输错三次密码,并且不再提示输入密码
for i in range(3):
msg=input('please input your secrect number: ')
if(msg=='1111'):
print('right!')
break
else:
print('wrong!')
else:
print('you have inputed wrong number for 3 times!')
输出示例:
三次都输错:
输入正确:
嵌套循环
循环结构之中又嵌套了另外一个完整的循环结构,其中内层循环作为外层循环的循环体
注意,嵌套循环中的break、continue只控制本层循环