1.1 while…else…
当while循环正常执行完,中间没有被break中止的话,就会执行else后面的语句
count = 0
while count<=5:
count+=1
print(count)
else:
print("循环正常执行完了")
1
2
3
4
5
循环正常执行完了
2.1 for循环
语法:
for 变量名 in range(start,stop,step):
循环体
2.1.1 range()是什么
它的语法:
是左闭右开区间,生成整数范围,range()也可以单独使用
range(start,stop,[,step])
start指的是计数起始值,默认是0
stop指的是计数结束值,但不包括stop
step是步长,默认为1,不可以为0
步长就是跳过几运行
注意:
1.它表示的是左闭右开区间
2.它接收的参数必须是整数,可以是负数,但是不能是浮点数等其他类型
3.它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但是不能修改元素
4.它是可迭代对象,却不是迭代器(后面的文章会介绍到)
输出1-100
for i in range(1,101,1):
print(i)
for i in range(1,101): #与上面的等效,因为步长默认为1
print(i)
for i in range(101):
print(i) #0-100
for循环每次循环,变量i的值都会发生变化,根据range 的开始值和结束值来变
打印1-100中所有的偶数
for i in range(2,101,2):
print(i)
打印1-100的累加和
sum = 0
for i in range(1,101):
sum += i
print(sum)
例题: 给定账号是:root,密码是123456, 现在只循环5次
程序提示输入账号和密码,如果账号和密码错误,就重新输入账号和密码,如果输入正确就打印登录成功
break作用就是退出
username = "hello"
password = '12345'
for i in range(5): #0-4,也就是循环5次
u = input("请输入账号:")
p = input("请输入密码:")
if u == username and p == password:
print("登录成功")
break # 成功就退出循环,就不用再往下尝试了
else:
print("密码错误,请重新输入")
2.1.2 break和continue
break和continue是循环中满足一定条件退出循环的两种方式,只能在循环中使用
break:退出整个循环
continue:退出本次循环,继续执行下一次循环
例题:
情景一(break):吃十个苹果,吃到第3个发现吃饱了,就不要吃了,循环就可以停止了,break的循环终止流程
for i in range(1,11):
if i == 3:
print("吃饱了,不吃了")
break
print("正在吃第"+str(i)+"个苹果!")
情景二:吃到了虫子,直接扔掉,吃第四个,这就是continue的循环跳出流程,即退出当前一次循环,但是整个循环还在继续执行
for i in range(1,11):
if i == 3:
print("吃到虫子,换下一个")
continue
print("正在吃第"+str(i)+"个苹果!")
2.1.3 循环嵌套
在循环里面再循环
for i in range(2):
for j in range(5):
print("hello world")
# 外层for会执行2次
# 内层for会执行5次
#总共循环2*5=10次
for i in range(2):
print("========外层")
for j in range(5):
print("===内层")
运行结果
========外层
===内层
===内层
===内层
===内层
===内层
========外层
===内层
===内层
===内层
===内层
===内层
小试牛刀
打印一栋楼的所有房间号,假设这栋楼有5层,每层楼有9个房间,我们要怎么去输出他们的房间号呢?输出的房间号如101,102…109,201,202…209.
方法一(使用for循环):
for i in range(1,6): #1-5层
for j in range(1,10): #一层9房间,循环9次
print(str(i)+"0"+str(j)+"号")
方法二(使用while循环):
i = 1
while i < 6: #层数1-5
j = 1
while j < 10: #房间数
print(str(i) + "0" + str(j) + "号")
j += 1 #控制内循环
i += 1 #控制外循环
方法三(使用for循环和while交互嵌套):
#用while控制层数,用for控制每层的9个房间
i = 1
while i < 6:
for j in range(1, 10):
print(str(i) + "0" + str(j) + "号")
i += 1