Python--02--流程控制语句

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 1.分之
    • [1.1 单分支](#1.1 单分支)
    • [1.2 双分支](#1.2 双分支)
    • [1.3 多分支](#1.3 多分支)
    • [1.4 嵌套分之](#1.4 嵌套分之)
  • 2.循环
    • [2.1 while 循环](#2.1 while 循环)
    • [2.2 for 循环](#2.2 for 循环)
    • [2.3 对比 while 与 for](#2.3 对比 while 与 for)
    • [2.4 嵌套循环](#2.4 嵌套循环)
    • [2.5 九九乘法表案例](#2.5 九九乘法表案例)
    • [2.6 continue 与 break](#2.6 continue 与 break)
    • [2.7 综合案例](#2.7 综合案例)

1.分之

  • 分支有很多其他的称呼,比如:条件控制语句、分支语句、选择语句。
  • 分之是通过条件判断,来决定执行哪些代码。

1.1 单分支


1.2 双分支


1.3 多分支


1.4 嵌套分之



python 复制代码
age = int(input('请输入你的年龄:'))
has_report = input('您是否提交了体检报告?(是/否)')
level = int(input('请输入你的会员等级(1/2/3)'))

print('******⬇️程序的识别结果如下⬇️:******')
if 18 <= age <= 45:
    print('✅️您的年龄符合比赛要求!')
    if has_report == '是':
        print('✅️您已提交体检报告!')
        print('✅️您可以参加比赛!')
        if level == 1:
            print(f'😊尊敬的{level}会员,比赛结束后,您可以领取纪念T恤👕一件!')
        elif level == 2:
            print(f'😊尊敬的{level}会员,比赛结束后,您可以领取专业跑鞋👟一双!')
        elif level == 3:
            print(f'😊尊敬的{level}会员,比赛结束后,您可以领取运动耳机🎧️一副!')
        else:
            print('❌您输入的会员等级不正确!')
    elif has_report == '否':
        print('❌您未提交体检报告,不能参加比赛!')
    else:
        print('❌您输入的体检报告有误!')
else:
    print('❌抱歉,参赛年龄需要在18~45之间!')

2.循环

  • 循环是一种让代码"重复执行"的机制,当某个条件成立时,程序会反复执行一些语句,直到条件不再满足时,再停止运行。

2.1 while 循环



2.2 for 循环




2.3 对比 while 与 for

2.4 嵌套循环

python 复制代码
# for循环实现
day = 1
for day in range(1,31):
    print(f'********📅第{day}天********')
    for group in range(1,4):
        print(f'💪这是第{group}组仰卧起坐')
    print(f'✅第{day}天任务已完成!明天继续!\n')
print(f'🎉为期{day}天的健身计划完成,我的腹肌在闪闪发光!')
python 复制代码
# while循环实现
day = 1
while day <= 30:
    print(f'********📅第{day}天********')
    group = 1
    while group <= 3:
        print(f'💪这是第{group}组仰卧起坐')
        group += 1
    print(f'✅第{day}天任务已完成!明天继续!\n')
    day += 1
print(f'🎉为期{day - 1}天的健身计划完成,我的腹肌在闪闪发光!')

2.5 九九乘法表案例

python 复制代码
print("99乘法表")
n = 1
while n <= 9:
    i = 1
    while i <= n:
        print(f'{i}*{n}={i*n}', end=' ')
        i += 1
    print("")
    n += 1
print('=======================================================')

# for循环实现九九乘法表
for row in range(1, 10):
    for item in range(1, row + 1):
        print(f'{item}*{row}={item * row}', end='\t')
    print()

2.6 continue 与 break

1️⃣测试continue

python 复制代码
# 测试continue
for day in range(1, 5):
    print(f'********第{day}天********')
    print('吃饭')
    continue
    print('睡觉')

for day in range(1, 5):
    print(f'********第{day}天********')
    print('吃饭')
    if day == 2:
        continue
    print('睡觉')

for day in range(1, 5):
    if day == 2:
        continue
    print(f'********第{day}天********')
    print('吃饭')
    print('睡觉')

for day in range(1, 5):
    print(f'********第{day}天********')
    print('吃饭')
    for item in range(1, 3):
        print(f'面包{item}')
        continue
        print(f'牛奶{item}')
    print('睡觉')

for day in range(1, 5):
    print(f'********第{day}天********')
    print('吃饭')
    for item in range(1, 3):
        print(f'面包{item}')
        if day == 4 and item == 2:
            continue
        print(f'牛奶{item}')
    print('睡觉')

2️⃣测试break

python 复制代码
for day in range(1, 5):
    print(f'********第{day}天********')
    print('吃饭')
    break
    print('睡觉')

for day in range(1, 5):
    print(f'********第{day}天********')
    print('吃饭')
    if day == 2:
        break
    print('睡觉')

for day in range(1, 5):
    if day == 2:
        break
    print(f'********第{day}天********')
    print('吃饭')
    print('睡觉')

for day in range(1, 5):
    print(f'********第{day}天********')
    print('吃饭')
    for item in range(1,3):
        print(f'面包{item}')
        if day == 4 and item == 2:
            break
        print(f'牛奶{item}')
    print('睡觉')

2.7 综合案例

python 复制代码
print('🏆欢迎来到:答题闯关挑战赛(输入q可随时退出)\n')

# 题目与答案
ques1, ans1 = 'Python中用于输出的函数是?', 'print'
ques2, ans2 = 'Python中用于表示逻辑"并且"的关键字是?', 'and'
ques3, ans3 = 'Python属于编译型还是解释型?', '解释型'

# 最多可尝试次数
max_tries = 3
# 总关卡数
total_levels = 3
# 是否处于可游戏状态
is_playing = True

# 根据题目数量开始循环
for level in range(1, total_levels + 1):
    # 打印当前是第几关
    print(f'********🎯第{level}关********')
    # 取出当前关卡所对应的题目和答案
    if level == 1:
        question, answer = ques1, ans1
    elif level == 2:
        question, answer = ques2, ans2
    else:
        question, answer = ques3, ans3
    # 记录当前关卡的尝试次数
    tries = 1
    # 若已经尝试的次数,小于等于最大尝试次数,则进入循环
    while tries <= max_tries:
        # 向用户提问
        user_input = input('📢'+question)
        # 根据用户的输入,来决定做什么
        if user_input == answer:
            print('✅回答正确!\n')
            break
        elif user_input == '':
            print('⚠️您的输入为空,请重新作答!\n')
            continue
        elif user_input == 'q':
            print('👋您已退出游戏!\n')
            is_playing = False
            break
        else:
            # 计算剩余次数
            leave = max_tries - tries
            # 判断是否还有剩余次数
            if leave > 0:
                print(f'❌回答错误,您还剩{leave}次机会!\n')
                tries += 1
                continue
            else:
                print(f'😢挑战失败,本题的正确答案是:{answer},游戏结束!')
                is_playing = False
                break
    # 每次进入下一关之前,都要看一下is_playing,如果is_playing为False就要结束游戏!
    if not is_playing:
        break
# 如果到了这里,is_playing的值依然为True,那就意味着用户已经通关了!
if is_playing:
    print('🎉🎉🎉恭喜您!全部通关!🎉🎉🎉')
相关推荐
朝花不迟暮5 小时前
go的文件操作
开发语言·后端·golang
西西学代码5 小时前
Flutter---类
java·开发语言
码农小卡拉5 小时前
Java多线程:CompletableFuture使用详解(超详细)
java·开发语言·spring boot·python·spring·spring cloud
千里马-horse5 小时前
BigInt
开发语言·bigint·napi·addon
Robot侠5 小时前
从 Python 到 Ollama:将微调后的 Llama-3/Qwen 一键导出为 GGUF
开发语言·python·llama·qwen
刺客-Andy5 小时前
JS中级面试题 50道及答案
开发语言·javascript·ecmascript
Java小白笔记5 小时前
BigDecimal用法示例
java·开发语言·spring boot
l1t5 小时前
Python 字符串反转方法
linux·开发语言·python
Eiceblue5 小时前
使用 Python 写入多类型数据至 Excel 文件
开发语言·python·excel