复习知识点并进行预习

一、算术运算符:

算术运算符是数值计算的基础,蓝桥杯常结合进制转换、数论、模拟计算考查,核心拓展如下:
表格运算符作用蓝桥杯高频场景示例结果//整数除法(向下取整)分物品、取高位数、进制转换7//2 → 3,-7//2 → -4%取模(求余数)奇偶判断、周期问题、取个位数7%2 → 1,123%10 → 3幂运算次方计算、数的位数推导210 → 1024+ - * /基础加减乘除常规数值计算略
实战代码示例(蓝桥杯真题改编)python运行# 题目:输入一个小于1000的正整数,输出其个位、十位、百位
n = int(input("请输入小于1000的正整数:"))
units = n % 10 # 取个位:对10取模
tens = (n // 10) % 10 # 取十位:先整除10,再对10取模
hundreds = n // 100 # 取百位:直接整除100
print(f"个位:{units},十位:{tens},百位:{hundreds}")

#测试输入:456 → 输出:个位:6,十位:5,百位:4

二、逻辑运算符:

逻辑运算符(and/or/not)用于组合多条件,蓝桥杯常出现在循环终止条件、多条件筛选中,需重点掌握短路求值特性
核心规则
表格运算符逻辑规则短路特性and全 True 才 True,有 False 则 False左侧 False 时,右侧不执行or有 True 则 True,全 False 才 False左侧 True 时,右侧不执行not对条件取反无短路特性
实战代码示例 python运行# 题目:筛选100以内“偶数、大于20、能被3整除”的数
for i in range(1, 101):
if i % 2 == 0 and i > 20 and i % 3 == 0:
print(i, end=" ") # 输出:24 30 36 ... 96

短路求值示例
a = 1

左侧0为False,右侧a+=1不会执行

if 0 and (a += 1):
pass
print(a) # 输出:1(若执行则a=2)

三、循环:

循环(for/while)是蓝桥杯必考内容,常结合枚举、累加 / 累乘、模拟过程考查,重点拓展循环嵌套、循环优化。

  1. for 循环(枚举类题目首选)python运行# 题目:计算1~100的累加和
    sum_num = 0
    for i in range(1, 101): # range左闭右开,101才包含100
    sum_num += i
    print(sum_num) # 输出:5050

#循环嵌套:打印99乘法表

for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}×{i}={i*j}", end="\t")
print() # 换行

  1. while 循环(未知循环次数场景)python运行# 题目:猜数字游戏
    import random
    target = random.randint(1, 100) # 生成1-100随机数
    count = 0

while True: # #死循环,通过break终止
guess = int(input("猜1~100的数字:"))
count += 1
if guess == target:
print(f"猜对了!共猜了{count}次")
break
elif guess > target:
print("数字太大了")
else:
print("数字太小了")

  1. 循环
    import time
    start = time.time()
    for i in range(2, 10001):
    flag = True
    for j in range(2, i):
    if i % j == 0:
    flag = False
    break
    if flag:
    pass
    print(f"暴力法耗时:{time.time()-start:.2f}s")

优化后:

start = time.time()
for i in range(2, 10001):
flag = True
for j in range(2, int(i**0.5)+1): # 只遍历到√i
if i % j == 0:
flag = False
break
if flag:
pass
print(f"优化法耗时:{time.time()-start:.2f}s")

四、内置函数:

Python 内置函数无需导入,能大幅简化代码,蓝桥杯高频考查以下核心函数:
表格函数核心作用蓝桥杯典型场景len()求长度字符串 / 列表 / 元组长度计算sum()求和替代循环累加,简化代码max()/min()求最值数值筛选、统计类题目enumerate()枚举索引 + 值遍历需同时获取下标和值map()类型转换 / 批量处理输入数据的快速处理abs()绝对值数值计算、距离类题目
实战代码示例(内置函数简化代码)python运行# 题目:输入一组数(空格分隔),计算总和、最大值、最小值
nums = list(map(int, input("输入一组数:").split()))
total = sum(nums) # 替代循环累加
max_num = max(nums) # 替代循环比较
min_num = min(nums)
print(f"总和:{total},最大值:{max_num},最小值:{min_num}")

enumerate():遍历同时获取下标和值

fruits = ["苹果", "香蕉", "橙子"]
for idx, fruit in enumerate(fruits):
print(f"下标{idx}:{fruit}") # 输出:下标0:苹果 下标1:香蕉 下标2:橙子

五、元组:

定义:空元组(),单元素元组需加逗号((1,)),多元素可直接用()包裹;
不可变:创建后无法修改、添加、删除元素
解包:可直接将元组元素赋值给多个变量
实战代码示例(蓝桥杯常见用法)python运行# 1. 存储固定常量
PI = (3.1415926,) # 单元素元组必须加逗号
weekdays = ("周一", "周二", "周三", "周四", "周五", "周六", "周日")

2. 元组解包:交换变量(无需临时变量)

a, b = 10, 20
a, b = b, a # 本质是元组解包
print(a, b) # 输出:20 10

#3. 函数返回多值(本质返回元组)

def get_score():
return 90, 85, 95 # 等价于return (90,85,95)

chinese, math, english = get_score() # 解包赋值
print(f"语文:{chinese},数学:{math},英语:{english}")

#4. 不可变特性

t = (1, 2, 3)
t[0] = 10 # 执行报错:TypeError(元组元素不可修改)

posted @ 2026-03-19 21:52  蓝桥杯Python学习系列  阅读(29)  评论(0)    收藏  举报