Python34-35:核心语法-流程控制语句-循环-综合案例

案例一: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}个")

**声明:**本篇学习笔记参考黑马程序员相关课程,部分素材来源于网络公开资料及本人补充;文中为个人整理复盘,仅供学习交流使用。

相关推荐
吃饱了得干活1 小时前
Agent 的记忆与工具:从上下文窗口到 MCP
python·agent·mcp
燐妤2 小时前
LangGraph-复习总览
python·ai·面试·agent·学习方法·langgraph
尹人入圣2 小时前
市面上IP驱动产业新场景新工具
运维·网络·python·tcp/ip
打工仔折腾 AI2 小时前
从BPE到SentencePiece:Transformer分词原理与Python实战对比
android·人工智能·python·深度学习·langchain·transformer·ai agent 实战
骑着蜗牛撵大象3273 小时前
Qt 事件机制详解:从 QEvent 派生类到事件过滤器的全景指南
前端·python
流形填表3 小时前
题库迁移实战:Excel中间格式与列映射
python·excel
东方芷兰3 小时前
Agent 技术摘要 06 —— Harness、原生视觉、Jev、mmproj、dsh
人工智能·笔记·python·ai·langchain·ai编程
qq_2518364573 小时前
理发管理系统 —— 会员模块
开发语言·前端·python·flask
郝学胜-神的一滴3 小时前
AI 编程智能体 03:拆解当下主流智能体能力
开发语言·c++·人工智能·python·程序人生·游戏