while 循环
死循环
while True:print("helloworld")
上面的代码将会无限的打印
while 循环和for 循环的区别:
for 循环的次数是确定,while 可以无限次的循环下去。
使用while 循环也可以指定循环次数。
比如:循环10次,添加对应的条件即可。
# 定义变量 nn = 0# n<10 为条件while n<10:print("helloword"+str(n))# 每打印一次 n的值增加1n = n+1
同样的效果 也可以使用for 循环
# 使用for 循环执行10次for i in range(10):print("helloworld"+str(i))
应用
- 计算1+2+3+4+5+….+100之和
使用 while 循环
分析:
a. 从1循环到100
b.每循环1次要做1次加法运算
# 定义结果的初始值为0sum = 0# 定义数字nn = 1while n<=100:# 每次循环做1次加法sum = sum+n# n的值递增1n = n+1# 循环结果结束print(sum)
结果为 5050
使用for循环实现
sum = 0# 从1开始,到100结束for i in range(1,101):# print(i)sum = sum+iprint(sum)
break 中断循环
正常情况下,循环执行完成之后,会自动停止。 也可以提供条件,停止循环。
比如while True 是会一直执行下去的。在执行体中 设置条件中断循环。
# 导入随机import randomwhile True:# 生成随机值aa = random.random()print('生成随机数字'+str(a))# 条件if a<0.09:print('a的大于0.9,结束while 循环')break

for 循环也会被中断
import random# 循环三次for i in range(3):a = random.random()print('生成随机数字'+str(a))if a>0.5:print('a的大于0.5,结束while 循环')break
嵌套循环
可以在一层循环中再嵌套一层循环
# 循环10次for i in range(10):# 每次循环的时候再循环3次for j in range(3):print("i的值为"+str(i),"j的值为"+str(j))
嵌套循环中的break
break 可以中断循环,但是当在多层循环中执行的时候,break 在那个循环中,会中断对应的循环。
# 循环10次for i in range(10):# 每次循环的时候再循环3次for j in range(3):print("i的值为"+str(i),"j的值为"+str(j))break
continue 结束当次循环
在循环体中,执行的循环内容是从上往下
比如下面代码
for i in range(3):print('hello'+str(i))print('world'+str(i))
输出结果
hello0world0hello1world1hello2world2
如果当i==1的时候,中断整个循环
for i in range(3):print('hello'+str(i))if i==1:break # 结束整个for循环print('world'+str(i))
hello0world0hello1
如果使用 continue 看下效果
for i in range(3):print('hello'+str(i))if i==1:continue # 结束i==1的这次循环,会继续从i==2运行print('world'+str(i))
hello0world0hello1hello2world2
可以发现 world1 并没有打印出来。是因为被 continue 终止了。
面试问题
- break 和 continue的区别:
break是中断整个循环,
continue中断当次循环。
- while 和for 的区别
作业
- 计算 1+3+5+7+9+…+99 之后。 100之内奇数之和。
for循环
# 1开始,99结束,每次递增2for i in range(1,100,2):print(i)
sum = 0n = 1s = ""while n<=99:s = s + "+" + str(n)sum = sum+nn = n+2print(s+'='+ str(sum))
sum = 0for i in range(1,100,2):sum = sum+iprint(sum)
