while 循环
死循环
while True:
print("helloworld")
上面的代码将会无限的打印
while 循环和for 循环的区别:
for 循环的次数是确定,while 可以无限次的循环下去。
使用while 循环也可以指定循环次数。
比如:循环10次,添加对应的条件即可。
# 定义变量 n
n = 0
# n<10 为条件
while n<10:
print("helloword"+str(n))
# 每打印一次 n的值增加1
n = 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次加法运算
# 定义结果的初始值为0
sum = 0
# 定义数字n
n = 1
while n<=100:
# 每次循环做1次加法
sum = sum+n
# n的值递增1
n = n+1
# 循环结果结束
print(sum)
结果为 5050
使用for循环实现
sum = 0
# 从1开始,到100结束
for i in range(1,101):
# print(i)
sum = sum+i
print(sum)
break 中断循环
正常情况下,循环执行完成之后,会自动停止。 也可以提供条件,停止循环。
比如while True 是会一直执行下去的。在执行体中 设置条件中断循环。
# 导入随机
import random
while True:
# 生成随机值a
a = 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))
输出结果
hello0
world0
hello1
world1
hello2
world2
如果当i==1的时候,中断整个循环
for i in range(3):
print('hello'+str(i))
if i==1:
break # 结束整个for循环
print('world'+str(i))
hello0
world0
hello1
如果使用 continue 看下效果
for i in range(3):
print('hello'+str(i))
if i==1:
continue # 结束i==1的这次循环,会继续从i==2运行
print('world'+str(i))
hello0
world0
hello1
hello2
world2
可以发现 world1
并没有打印出来。是因为被 continue 终止了。
面试问题
- break 和 continue的区别:
break是中断整个循环,
continue中断当次循环。
- while 和for 的区别
作业
- 计算 1+3+5+7+9+…+99 之后。 100之内奇数之和。
for循环
# 1开始,99结束,每次递增2
for i in range(1,100,2):
print(i)
sum = 0
n = 1
s = ""
while n<=99:
s = s + "+" + str(n)
sum = sum+n
n = n+2
print(s+'='+ str(sum))
sum = 0
for i in range(1,100,2):
sum = sum+i
print(sum)