python的循环有两种,一种是for...in
循环,一种是while循环,一起看一下。
for...in
for...in
可以依次把list
或tuple
中的每个元素迭代出来,例如:
>>> names = ['jack','mike','rose']
for name in names:
print(name)
运行结果:#会依次打印names中的每个元素
jack
mike
rose
再举个栗子,我们要计算1-10的整数和:
sum = 0
for x in [1,2,3,4,5,6,7,8,9,10]:
sum = sum + x
print(sum)
但要让你计算1-100呢,那不是写到死,哎,python这时候给我们提供了一个range()
函数,可以生成一个序列数,我们再用list()
转换一下就可以啦。用法如下:
>>> list(range(5))
[0,1,2,3,4]
# range(101)就可以生成0-100的整数序列
while循环
只要满足条件就会不断循环,不满足时退出,比如我们要计算0-100内所有的奇数之和:
sum = 0
n = 99
while n>0:
sum = sum + n
n = n-2
print(sum)
# 当n为-1时跳出循环,执行print()
break
在循环过程中利用break
可以随时退出循环。我们要循环打印1-100的数字,但在50的时候让它停止:
n = 1
while n<=100:
if n>50:
break
print(n)
n = n + 1
print('结束')
执行代码发现,在打印出1~50之后,紧接着打印了结束
,停止循环。
continue
在循环过程中,我们也可以跳过某些条件的循环,依旧是打印1-10,但这次只打印奇数:
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
continue
的作用就是提前结束本轮循环,进入下一轮。
小结
break
语句可以在循环过程中直接退出循环,而continue
语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
另外还有要注意的一点,这东西不要乱用,很容易造成代码分叉较多,自己也看不懂还容易出错。