python有两种循环,一种是for…in…循环,一次把list 和touple中的元素遍历出来
一.先来看for循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
结果:
zhengyoncongdeMacBook-Pro:python zhengyoncong$ ./for.py
Michael
Bob
Tracy
所以for x in…的作用就是把list或者toupled的元素依次带入x,然后执行循环模块的代码
现在用for 循环来解决1+2+3+4+…+100的和
提示:
如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:
>>> list(range(5))
[0, 1, 2, 3, 4]
有了range()函数,大大节省了工作量,下面来计算1-100累加和
sum = 0
for x in range(101):
sum = sum + x #这里注意不能用sum +=sum +x,python中+=有其他特殊意义
print(sum)
运行结果
zhengyoncongdeMacBook-Pro:python zhengyoncong$ ./for.py
5050
第二种循环:while循环,条件满足,一直循环,条件不满足,结束循环
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
在循环内部,n不断自减,直到变为-1时,不再满足whilet条件,循环退出
如果要提前终止循环,可以用break实现
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。
可见break的作用是提前结束循环。
如果要绕过某些不符合要求的循环,可以用continue实现,
循环过程中,通过continue语句,跳过当前的这次循环,直接开始下一次循环。
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
结果:
zhengyoncongdeMacBook-Pro:python zhengyoncong$ ./while.py
9
7
5
3
1
END
可见continue的作用是提前结束本轮循环,并直接开始下一轮循环。
总结:
- python有两种循环,for循环和while循环,for x in…的作用就是把list或者toupled的元素依次带入x,然后执行循环模块。
- range()函数生成整数序列
- break提前跳出循环,continue跳过本次循环,继续下次循环