Skip to content

中断语句

breakcontinue 是专门在循环中使用的关键字

  • break 某一条件满足时,退出循环,不再执行后续重复的代码
  • continue 某一条件满足时,不执行后续重复的代码

breakcontinue 只针对当前所在循环有效

break

从内部中断循环,在循环过程中,如果 某一个条件满足后,不再希望 循环继续执行,可以使用 break 退出循环

案例:登录账号

循环一直输入账号密码,输入成功之后跳出循环

python
while True:

    password = input("请输入密码")
    if password == '123456':
        # 当满足条件时 中断循环
        print('密码输入正确,跳出循环')
        break

    # 重复执行的代码
    print("输入的密码错误,请重新输入")

continue

中断本次循环的后面部分

在循环过程中,如果某一个条件满足后,不希望执行循环代码,但是又不希望退出循环,可以使用 continue

也就是在整个循环中,只有某些条件,不需要执行循环代码,而其他条件都需要执行

python
while True:

    password = input("请输入密码")
    if password == '123456':
        # 当满足条件时 终止后续的操作
        print('密码输入正确,终止后续的操作,重新进入循环')
        continue

    print("输入的密码错误,请重新输入")

案例

案例: 请在 5 次之内,输入 3 个同事的名字。

  • 每次输入内容记录一次,输入成功记录一次成功。
  • 全部成功之后跳出程序,失败也跳出程序,次数用完了也结束程序。
  • 如果输入重复,重新输入,不计入输入次数。

注意:使用 continue 时,条件处理部分的代码,需要特别注意,不小心会出现死循环,continue 只针对当前所在循环有效

python
names = '正心,张三,李四,王五,赵六'
参考答案
python
names = '正心,张三,李四,王五,赵六'

ret_str = ''

count = 0
success_count = 0

while True:
    name = input('请输入同事的名字:')
    count += 1

    if name in ret_str:
        continue

    if name in names:
        success_count += 1
        ret_str += ',' + name
        print(f'{name} 是你的同事')
    else:
        print(f'{name} 不是你的同事')

    if count >= 5:
        print('次数已用尽,失败')
        break
    if success_count >= 3:
        print('恭喜你,通关成功')
        break

else 语句(了解)

else 可以在 whilefor 循环中运用,elsewhilefor 搭配使用,不再是条件判断的含义。而是与 whilefor 组成了一个新的语句。正常结束就执行,不正常就是就不执行。

elsewhile 一起使用

而是当 while 条件不成立时,直接跳出 while 循环,执行 else 输出如:

python
i = 1
while i < 5:
    i += 1
else:
    print('正常结束')

elsefor 一起使用

python
for i in range(5):
    pass
else:
    print('正常结束')