python一道关于字典的题

题目

建立字典。给定两个长度相同的列表,比如说,列表[1, 2, 3,...]['abc', 'def', 'ghi',...]用这两个列表里的所有数据组成一个字典,像这样:{1: 'abc', 2: 'def', 3: 'ghi',...}

在这里要用到dict.setdefault(key,[,default])这个函数如果key在dict内部会返回key所对应的value,key不在dict内部会在dict内插入一个键值对,键为key值为默认的None。

def InsertDict(D, char1, char2):
#传入dict,char1为键,char2为值#
    D.setdefault(char1)
#在这里先创建一个键为char1值为None的键值对#
    D[char1] = char2
#在这里把默认值None换成char2#
D = {}
L = input('请输入将要当作字典中值的列表: ')
L1 = list(L)
L2 = []

for i in range(len(L1)):
    n = input('对于键为%d的键值对请输入与键对应的字符串:  '%int(L[i]))
    L2.append(n)

for i in range(len(L1)):
    char1 = str(L1[i])
    char2 = str(L2[i])
    InsertDict(D, char1, char2)

for eachkey in sorted(D):
    print('key: '+eachkey+' '+'value: '+D[eachkey])

print(D)
请输入将要当作字典中值的列表: 1234
对于键为1的键值对请输入与键对应的字符串:  a
对于键为2的键值对请输入与键对应的字符串:  b
对于键为3的键值对请输入与键对应的字符串:  c
对于键为4的键值对请输入与键对应的字符串:  d
key: 1 value: a
key: 2 value: b
key: 3 value: c
key: 4 value: d
{'4': 'd', '2': 'b', '1': 'a', '3': 'c'}
Python期末考试中,一道常见的大可能会要求学生综合运用所学的编程知识,解决实际问。例如,考试中可能会出现一个涉及文件操作、函数定义、条件判断和循环处理的大。下面是一个可能的目示例: ``` 目:学生信息管理系统 描述: 你被要求设计一个简单的学生信息管理系统,该系统能够记录学生的姓名和成绩,并提供查询和更新信息的功能。请使用Python编程实现以下功能: 1. 创建一个学生信息字典,其中学生姓名作为键,成绩作为值。 2. 实现一个函数add_student,它接受两个参数:学生姓名和成绩,然后将学生信息添加到字典中。 3. 实现一个函数update_student_score,它接受学生姓名和新的成绩作为参数,如果学生存在,则更新其成绩。 4. 实现一个函数get_student_score,它接受学生姓名作为参数,返回该学生的成绩。如果学生不存在,返回“学生不存在”。 5. 实现一个函数print_all_students,打印出所有学生的姓名和成绩。 6. 实现一个简单的文本文件操作,将所有学生信息保存到一个名为students.txt的文件中,并从该文件中读取学生信息。 要求: - 使用字典来存储学生信息。 - 每个函数都需要有适当的错误处理,确保程序的健壮性。 - 在主程序中使用上述函数完成学生信息的添加、更新、查询和文件保存功能。 请提供完整的Python代码实现以上功能,并在代码中包含必要的注释。 附加: - 在主程序中添加一个功能,允许用户输入命令来执行不同的操作,例如添加新学生、更新成绩等。 - 增加异常处理,例如处理文件读写错误或输入错误等。 ``` 请注意,这只是一个示例目,实际的考试目可能会有所不同,具体取决于教学大纲和教师的授课内容。学生需要根据目的要求编写代码,并确保代码能够正确运行和处理各种情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值