写一个Python程序,(1)读下图中所示的文件cl ass.txt,以第一列班级名为键,以相应的第二列班级人数为值建立字典;(2)按照班级编号从小到大排序,输出每个班级有多少人,并写入到文件newclass.txto 要求上传代码和结果,可以上传文件,也可以贴图。 class.txt Class11 26 Class12 31 Class3 29 Class4 27 Class9 28 Class6 30 Class7 32 Class8 25 Class5 28 Class10 27 Class1 26 Class2 24 输入答案
时间: 2023-11-27 19:51:44 浏览: 89
以下是代码实现:
```python
# 读取class.txt文件并建立字典
class_dict = {}
with open('class.txt', 'r') as f:
for line in f:
line = line.strip().split()
class_dict[line[0]] = int(line[1])
# 按照班级编号从小到大排序
sorted_class = sorted(class_dict.items(), key=lambda x: int(x[0][5:]))
# 输出每个班级有多少人,并写入到文件newclass.txt
with open('newclass.txt', 'w') as f:
for item in sorted_class:
f.write(item[0] + ' ' + str(item[1]) + '\n')
print(item[0], item[1])
```
运行结果:
```
Class1 26
Class2 24
Class3 29
Class4 27
Class5 28
Class6 30
Class7 32
Class8 25
Class9 28
Class10 27
Class11 26
Class12 31
```
并且生成了一个新文件newclass.txt,其内容如下:
```
Class1 26
Class2 24
Class3 29
Class4 27
Class5 28
Class6 30
Class7 32
Class8 25
Class9 28
Class10 27
Class11 26
Class12 31
```
阅读全文