Python 列表操作:按季度分组求和与学生成绩查找
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来记录是否找到成绩。 - 如果找到成绩,则打印成绩并设置
found为True,否则打印提示信息并设置found为False。
总结:
本文介绍了使用 Python 列表实现两个功能:一是按季度分组求和,二是学生成绩查找。代码示例清晰易懂,并提供详细的解释,帮助您更好地理解 Python 列表操作。
原文地址: https://www.cveoy.top/t/topic/jB9l 著作权归作者所有。请勿转载和采集!