(2)统计每个同学在文件中出现的次数,以字典的形式显示结果,比如{"张三":5,"李四":2,"王五":10,"赵六":1,"孙七":15} (3)统计每个同学的得分,评分规则:出现在第1列,得3分;
时间: 2024-06-16 12:01:49 浏览: 60
统计文件中某字符出现的次数(c++)
(2)为了统计每个同学在文件中出现的次数并以字典形式展示,你可以编写一个脚本或使用编程语言中的文件处理和数据结构功能。以下是一个Python示例,假设你有一个包含学生成绩的二维列表,每一行代表一个学生的名字:
```python
data = [
["张三", "98", "1"],
["李四", "85", "0"],
["王五", "100", "1"],
["赵六", "72", "0"],
["孙七", "95", "1"],
# 更多学生数据...
]
# 创建一个空字典来存储学生的姓名和计数
student_counts = {}
# 遍历文件数据
for row in data:
name = row # 获取学生名字
if name in student_counts:
student_counts[name] += 1
else:
student_counts[name] = 1
print(student_counts)
```
这将输出类似 `{"张三": 1, "李四": 1, "王五": 1, "赵六": 1, "孙七": 1}` 的字典,其中数字表示学生在列表中出现的次数。
(3)统计每个同学的得分,根据规则,我们可以根据名字查找对应的分数,并根据是否出现在第一列给分。如果你的数据结构已经是字典,那么可以直接添加分数规则:
```python
# 假设学生字典已经按照上述方法创建
for name, count in student_counts.items():
if count > 0: # 检查学生是否至少出现过一次
score = 3 if row == "1" else 0 # 如果在第一列,得3分,否则得0分
student_counts[name] = score
print(student_counts)
```
这将根据规则更新每个学生的分数。记得将`row`替换为实际文件中对应列的索引。
阅读全文