Python 列表操作:按季度分组求和与学生成绩查找

1. 按季度分组求和

假设有一个存储某商店一年 12 个月销售额的列表 month,要求按季度分组求和并返回包含各季度销售额的列表。

示例:

month = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

输出:

[6, 15, 24, 33]

实现代码:

month = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
quarterly_sales = []
for i in range(0, len(month), 3):
    quarterly_sales.append(sum(month[i:i+3]))
print(quarterly_sales)

代码解释:

  • 使用 range(0, len(month), 3) 生成一个步长为 3 的迭代器,用于遍历 month 列表,每次取 3 个元素进行求和。
  • 使用 sum(month[i:i+3]) 计算每个季度销售额的总和。
  • 使用 append 方法将每个季度的销售额添加到 quarterly_sales 列表中。

2. 学生成绩查找

编写程序,让用户不断输入学生的姓名和成绩,直到输入为空为止(用列表来实现数据的存储)。然后让用户输入姓名,查找并打印出成绩,对于不存在的姓名,给出提示,直到输入为空为止。

示例:

score = [['张三', 80], ['李四', 70]]

实现代码:

score = []
while True:
    name = input('请输入学生姓名(输入为空退出):')
    if not name:
        break
    grade = input('请输入学生成绩:')
    score.append([name, int(grade)])

while True:
    name = input('请输入要查询成绩的学生姓名(输入为空退出):')
    if not name:
        break
    found = False
    for s in score:
        if s[0] == name:
            print('{}的成绩是:{}'.format(name, s[1]))
            found = True
            break
    if not found:
        print('没有找到{}的成绩'.format(name))

代码解释:

  • 使用 while True 循环来实现用户不断输入姓名和成绩。
  • 使用 input() 函数获取用户输入的姓名和成绩。
  • 使用 append() 方法将姓名和成绩添加到 score 列表中。
  • 使用另一个 while True 循环来实现用户不断输入姓名查找成绩。
  • 使用 for 循环遍历 score 列表,查找与输入姓名匹配的成绩。
  • 使用布尔变量 found 来记录是否找到成绩。
  • 如果找到成绩,则打印成绩并设置 foundTrue,否则打印提示信息并设置 foundFalse

总结:

本文介绍了使用 Python 列表实现两个功能:一是按季度分组求和,二是学生成绩查找。代码示例清晰易懂,并提供详细的解释,帮助您更好地理解 Python 列表操作。

Python 列表操作:按季度分组求和与学生成绩查找

原文地址: https://www.cveoy.top/t/topic/jB9l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录