已知字典dic={'zhangsan': 90, 'lisi': 85, 'wanger': 88,'liuwu':95},\n\n1)对dic按照姓名(键)升序显示;\n\n2)对dic按照分数(值)降序显
时间: 2023-04-24 20:02:31 浏览: 215
示:
1)按照姓名(键)升序显示的结果为:{'liuwu': 95, 'lisi': 85, 'wanger': 88, 'zhangsan': 90}
2)按照分数(值)降序显示的结果为:{'liuwu': 95, 'zhangsan': 90, 'wanger': 88, 'lisi': 85}
相关问题
请将下述程序补充完整,将score字典中每个人的成绩增加10分。 程序的期望输出为: {'zhangsan': 90, '李四': 60, 'wangwu': 50} {'zhangsan': 90, '李四': 60, 'wangwu': 50}def add( ): for i in dic. : dic[i]= +10 return dic score={"zhangsan":80,"李四":50,"wangwu":40} scoreChange=add(score) print(score) print(scoreChange)
这段代码存在一些语法错误,需要进行修改。下面是修改后的代码,将 score 字典中每个人的成绩增加 10 分:
```python
def add(dic):
for i in dic:
dic[i] += 10
return dic
score = {"zhangsan": 80, "李四": 50, "wangwu": 40}
scoreChange = add(score)
print(score)
print(scoreChange)
```
输出结果为:
```
{'zhangsan': 80, '李四': 50, 'wangwu': 40}
{'zhangsan': 90, '李四': 60, 'wangwu': 50}
```
其中,add 函数的参数为一个字典 dic,表示要修改的成绩表。函数中使用 for 循环遍历字典中的每个元素,将其对应的值加上 10。最后返回修改后的成绩表。
在主程序中,先定义了一个成绩表 score,然后调用 add 函数将其传入,得到修改后的成绩表 scoreChange。最后输出原始成绩表和修改后的成绩表。
4. 已知附件d.txt中的内容为: zhangsan 20 lisi 23 wangwu 29 附件e.txt中的内容为: zhangsan man lisi woman wangwu man 请使用awk命令将两个文件合并为如下: zhangsan 20 man lisi 23 woman wangwu 29 man
可以使用awk命令和数组来实现:
```
awk 'BEGIN{FS=" "} NR==FNR{age[$1]=$2;next} {print $1, age[$1], $2}' d.txt e.txt
```
解释一下上面的命令:
- `BEGIN{FS=" "}`:设置输入字段分隔符为空格。
- `NR==FNR{age[$1]=$2;next}`:处理第一个文件d.txt,将每个人的年龄存储在一个名为age的数组中,以姓名为索引。
- `{print $1, age[$1], $2}`:处理第二个文件e.txt,输出姓名、年龄和性别。其中`$1`为姓名,`age[$1]`为对应的年龄,`$2`为性别。
阅读全文