案例一:break与continue

while循环关注的是循环开始和结束的条件,如果你不清楚要循环多少次,但是你知道循环开始和结束的条件,那这个时候你就可以使用while循环来操作;如果清楚地知道要循环多少次,或者是要对数据集当中的每一个元素进行遍历,然后对元素进行进一步处理,那就比较适合用for循环。
python
# 需求:根据输入的用户名密码执行登录操作
"""
关键字:
break:只能够出现在循环中,表示结束、跳出循环的含义 (break跳出循环时,while后面的else中的代码将不会执行。)
continue:只能够出现在循环中,表示中断本次循环,直接进入下一次循环
"""
while True:
# 1. 接收输入的用户名和密码
username = input("请输入正确的用户名:")
password = input("请输入正确的密码:")
# 2. 校验:输入的用户名和密码不能为空!
if username == "" or password == "":
print("输入的用户名和密码不能为空!请重新输入")
continue # 结束当前循环,直接进入下一次循环
# 3. 判断用户名和密码的正确性,执行登录操作
if username == "admin" and password == "666888":
print("登录成功,进入B站首页~") # 删除行 ctrl+Y
break
elif username == "zhangsan" and password == "123456":
print("登录成功,进入B站首页~")
break
elif username == "taoge" and password == "888666":
print("登录成功,进入B站首页~")
break
else:
print("用户名或密码错误,请重新输入!")
总结:
break关键字的作用:不能够单独书写,只能出现在循环中,表示结束、跳出的意思。
continue关键字的作用:不能够单独书写,只能出现在循环中,表示中断本次循环,直接进入下一次循环。
这两个关键字在while/for循环里都可以用。
案例二:猜数字游戏

随机数
import random
random_num = random.randint(a:1,b:100)
python
# 猜数字游戏
import random
random_num = random.randint(1,100) #生成随机数
while True:
# 接收输入的数字
num = int(input("请输入一个数字:"))
# 比较
if num > random_num:
print("您输入的数字太大了!")
elif num < random_num:
print("您输入的数字太小了!")
else:
print("恭喜您,猜对了!")
break
print("随机生成的数字是:", random_num)
练习
python
# 需求1:将1-1000之间(含1000)所有的5的倍数的数字累加起来。
total = 0
for i in range(1, 1001, 1):
if i % 5 == 0:
total += i
print(total) # 100500
# 优化版
total = 0
# 从 5 开始,每次 +5,直到 1000 → 直接就是所有 5 的倍数
for i in range(5, 1001, 5):
total += i
print(total) # 结果一样:100500
python
# 需求2:统计字符串 "lkdjwlkydnyisbjdkliuwuqjmydlnwapxidlkeyxnhyahg" 中有多少个 w 和 y。
# 把要统计的长字符串存到变量 chuan 里
chuan = "lkdjwlkydnyisbjdkliuwuqjmydlnwapxidlkeyxnhyahg"
# 专门记 w 出现了几次,一开始是 0
w_count = 0
# 专门记 y 出现了几次,一开始也是 0
y_count = 0
# 循环:一个字符一个字符地检查这个字符串
for i in chuan:
# 如果当前字符是 w → w的计数器 +1
if i =="w":
w_count += 1
# 如果当前字符是 y → y的计数器 +1
elif i =="y":
y_count += 1
# 格式化输出最终结果
print(f"在这个字符串中,w有{w_count}个,y有{y_count}个")
**声明:**本篇学习笔记参考黑马程序员相关课程,部分素材来源于网络公开资料及本人补充;文中为个人整理复盘,仅供学习交流使用。