文章目录
1. while 循环
1.1 介绍
1.1.1 生活中的循环
1.1.2 程序中的循环
跟媳妇承认错误,说一万遍"媳妇儿,我错了"
print("媳妇儿,我错了")
print("媳妇儿,我错了")
print("媳妇儿,我错了")
...(还有9997遍)...
使用循环语句
一句话搞定
i = 0
while i < 10000:
print("媳妇儿,我错了")
i += 1
1.2 总结
while 循环:
注意:
设置终止条件,否则会产生死循环
2. while循环应用:1~100求和
2.1 需求
计算1~100的累加和(包含1和100)
2.2 分析
①:设置终止变量
i = 1
②:设置累加和变量
sum = 0
③:循环100遍
while i <= 100:
④:累计求和
sum = sum + i
⑤:设置终止条件
i += 1
print(“1~100的累加和为:%d” % sum)
i = 1
sum = 0
while i <= 100:
sum = sum + i
i += 1
print("1~100的累加和为:%d" % sum)
3. while嵌套循环以及运用
3.1 while嵌套循环语句的语法格式
3.2 while嵌套循环使用
3.2.1 要求
打印如下图形:
图形一
图形二
3.2.2 参考代码
图形一参考代码
i=1
while i<=5:
j=1
while j<=5:
print("*",end=" ")
j +=1
print()
i += 1
图形二参考代码
i=1
while i<=5:
j=1
while j<=i:
print("*",end=" ")
j +=1
print()
i += 1
4. for循环
4.1 for循环基本格式
for 临时变量 in 列表或者字符串等: 循环满足条件时执行的代码
4.2 for循环和while循环的区别
相同点:(功能完成上)
while循环可以完成的功能for循环基本都可以实现, for循环可以完成的功能while循环基本也都可以实现.不同点:(选择使用上)
for循环往往用在遍历 字符串 列表等
while循环往往用在重复多次运行上
4.3 遍历字符串案例
案例一:
# 定义字符串name
name = "hello"
# 遍历字符串
for x in name:
print(x)
案例二:
#定义字符串name
name = "hello"
#遍历字符串
for x in name:
print(x)
#如果x为l则打印"Hello world!"
if x == "l":
print("Hello world!")
案例三:指定次数循环
#range(5)表示可以循环5次, 同时i可以获取0~4的数值
for i in range(5):
print(i)
#效果等同于 while 循环的:
i = 0
while i < 5:
print(i)
i += 1
注意:
临时变量只在for循环内部使用, 不在for循环外部使用
5. 循环中断:break和continue
5.1 循环中断break和continue的区别
如果把while和for这样的循环比作上班族从 公司A 到 家B 这两点一线不停的循环,
上班去 公司A 下班回家B 日复一日在这样的循环中进行。
break
就好比辞职了不再上班了, 彻底中断了这个循环。
continue
就好比请了1天假, 请假的这1天不上班, 假期结束了还需要继续上班。
相当于10次循环中,终止第4次循环然后继续第5次,6次,7次…循环。
5.2 break在for循环中的使用
没有break的for循环:
name='python'
for x in name:
print('------')
print(x)
else:
print("==for循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
有break的for循环:
name='python'
for x in name:
print('------')
if x=='t':
break
print(x)
else:
print("==for循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
5.3 break在while循环的使用
没有break的while循环:
i=0
while i<5:
i+=1
print('------------------------')
print(i)
else:
print("==循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
有break的while循环:
i=0
while i<5:
i+=1
print('------------------------')
if i==3:
break
print(i)
else:
print("==循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
注意:
break的作用:
立刻结束break所在的循环
5.4 continue在for循环的使用
带有continue的循环示例如下:
name='zhangsan'
for x in name:
print('-------------------------')
if x== 'e':
continue
print(x)
else:
print("==循环过程中,如果没有执行break退出,则执行本语句==")
运行结果:
带有continue的循环示例如下:
i=0
while i<5:
i+=1
print('-------------------------')
if i == 3:
continue
print(i)
运行结果:
5.5 总结
break的作用
:
立刻结束break所在的循环
continue的作用
:
用来结束本次循环,紧接着执行下一次的循环
注意:
- break/continue只能用在循环中,除此以外不能单独使用
- break/continue在嵌套循环中,只对最近的一层循环起作用
6. 报数字游戏
6.1 游戏规则
一些同学从1开始报数,当需要报出的数字尾数是7或者该数字是7的倍数时,则该同学跳过这个数字,不进行报数。所有同学都参与游戏后,游戏结束。如输入学生数量为50,游戏结束后,报数的同学数量为39。
6.2 实现
n = int(input('请输入学生的数量:'))
count = 0
for i in range(1, n+1):
if i % 7 == 0:
continue
if i % 10 == 7:
continue
else:
count += 1
print('报数同学的数量%d'%count)
运行结果: