(六) 流程控制(2)

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值