当前位置:首页>python>春招学考社团_python基础_p15_循环结构(for).py

春招学考社团_python基础_p15_循环结构(for).py

  • 2026-08-25 00:27:14
春招学考社团_python基础_p15_循环结构(for).py

知识点:for循环

for循环语法:

for 变量 in 序列:

 循环体

[else:

 语句块]

核心结构(必写部分):

for 变量 in 序列: 是循环的 “启动指令”:

  • “变量” 就像一个临时的 “小篮子”,每次循环都会从 “序列” 里取出下一个元素放进这个篮子里,方便后续使用;
  • “序列” 是要逐个处理的一组数据(比如一串数字、一段文字、一组列表项等);
  • 冒号:是固定写法,用来告诉 Python “接下来缩进的内容是要重复做的事”。
  • 缩进的 “循环体” 是每次循环都要执行的具体操作(比如计算、打印、判断等),每取出序列里的一个元素,就会执行一次循环体。
  • [else: 语句块] 里的方括号表示这部分可写可不写:

    • 只有当 for 循环完整走完(把序列里的所有元素都遍历完,没有被强制中断),才会执行 else 后面缩进的 “语句块”;
    • 如果循环被break等方式强制提前终止(没遍历完所有元素),else 部分就不会执行。
    • 简单总结就是:for 循环的作用是 “挨个处理序列里的元素,处理一个就执行一次循环体”;可选的 else 部分是 “只有所有元素都处理完了,才额外执行的操作”。

for单层循环示例1:模拟体育课报数

names = ['关羽','张飞','赵云','马超','黄忠']i = 0for each in names:    i = i + 1    print(each,'报数:',i) #输出如下内容: 关羽 报数: 1 张飞 报数: 2 赵云 报数: 3 马超 报数: 4 黄忠 报数: 5

for双层循环(嵌套循环)示例2:枚举鸡兔同笼

head = 35    # 头的数量foot = 94    # 脚的数量# j代表鸡的数量,t代表兔子的数量for j in range(1, head + 1):    for t in range(1, head + 1):        # 核心条件:鸡兔总数等于头数,且总脚数匹配        if j + t == head and j * 2 + t * 4 == foot:            print(f"鸡的数量:{j} 只,兔子的数量:{t}只")#输出如下内容:鸡的数量:23 只,兔子的数量:12只

习题1:

使用 for 循环实现一个“班级成绩统计”程序。已知某小组的 5 名学生成绩如下:

scores = [85, 92, 78, 90, 88]

要求:

用 for 循环遍历列表,计算总成绩和平均分。

在循环中同时统计成绩 ≥90 分的人数。

输出格式为:

总成绩:XXX  

平均分:XXX  

优秀(≥90分)人数:XXX

参考代码:

# 定义5名学生的成绩列表scores = [85, 92, 78, 90, 88]# 初始化变量:总成绩、优秀人数total_score = 0excellent_count = 0# for循环遍历成绩列表,计算相关数据for score in scores:    total_score += score  # 累加总成绩    if score >= 90:       # 统计≥90分的人数        excellent_count += 1# 计算平均分(总成绩/人数)average_score = total_score / len(scores)# 按指定格式输出print(f"总成绩:{total_score}")print(f"平均分:{average_score}")print(f"优秀(≥90分)人数:{excellent_count}")#输出:总成绩:433平均分:86.6优秀(≥90分)人数:2

习题2:

仿照“鸡兔同笼”问题,用双层循环解决“百钱买百鸡”问题。

已知:公鸡 5 元一只,母鸡 3 元一只,小鸡 1 元三只。

用 100 元买 100 只鸡,公鸡、母鸡、小鸡各多少只?

要求:

用双层循环枚举公鸡和母鸡的数量(小鸡数量通过 100−公鸡−母鸡 计算)。

在循环中判断是否满足总价 100 元的条件(注意:小鸡数量必须为 3 的倍数)。

输出所有可能的购买方案,格式如下:

公鸡:X只,母鸡:Y只,小鸡:Z只

# 双层循环枚举公鸡和母鸡的数量# 公鸡最多买20只(100元÷5元/只),母鸡最多买33只(100元÷3元/只)for gongji in range(0, 21):        # 外层循环:公鸡数量(0-20)    for muji in range(0, 34):      # 内层循环:母鸡数量(0-33)        xiaoji = 100 - gongji - muji  # 小鸡数量=总数-公鸡-母鸡        # 判断条件:总价=100元 且 小鸡数量是3的倍数        if xiaoji % 3 == 0 and (5*gongji + 3*muji + xiaoji/3) == 100:            # 按格式输出可行方案            print(f"公鸡:{gongji}只,母鸡:{muji}只,小鸡:{xiaoji}只") #输出:公鸡:0只,母鸡:25只,小鸡:75只公鸡:4只,母鸡:18只,小鸡:78只公鸡:8只,母鸡:11只,小鸡:81只公鸡:12只,母鸡:4只,小鸡:84只

最新文章

随机文章