一、选择题
1. 字典(Dict)键值对中的 “键” 必须是不可变(可哈希)对象,即内容固定、不可增删改,如:整数、浮点数、字符串、元组等
2. 字典(Dict)的创建方式:
(1) 变量名 = {}
(2) 变量名 = {键1:值1, 键2:值2, ……}
(3) 变量名 = dict(键1 = 值1, 键2 = 值2, ……)
(4) 变量名 = dict([(键1, 值1), (键2, 值2), ……])
(5) 变量名 = dict(zip(存储键的可迭代对象, 存储值的可迭代对象))
(6) 变量名 = dict.fromkeys(存储键的可迭代对象),每个 "键" 的默认 "值" 为 None
(7) 变量名 = dict.fromkeys(存储键的可迭代对象, 初始对象),每个 "键" 的 "值" 为初始对象,注意:这里每个 “键” 对应的 “值” 的内存地址都是一致的,如果修改一个键的值,其他键的值也会跟着改变
(8) 变量名 = {代表键的变量:与变量相关的函数 与变量相关的循环}
3. 字典(Dict)是可变数据类型,但 “键” 不可以重复(不能重名,因为 “键” 是用于查询时定位的,与身份证号类似)
4. 集合(Set)是不可变、不可重复对象,与数学概念中的集合性质一致,两个存放着不同元素的集合不相等(即。不是同一个集合),集合中的元素也不可以重复出现
5. set() 函数:创建集合,或将括号包裹的对象强制转换为集合,如果被强制转换的可迭代对象中有重复的元素,强制转换为集合后,重复的元素只会出现一次
6. {} 只能创建空字典,不能创建空集合
7. 集合生成式:变量名 = {代表集合中元素的变量的表达式 与变量相关的循环}
8. 以下代码的运行结果为?
s1 ="袋鼠"
print("{0}生活在主要由母{0}和小{0}组成的较小的群体里。".format(s1))
运行结果:袋鼠生活在主要由母袋鼠和小袋鼠组成的较小的群体里。
9. 元组(Tuple)是不可变的数据类型,即不能增、删、改,如果想基于一个元组做操作,操作完成后是生成了另一个元组,而不是对元组本身做了修改
10. 元组(Tuple)内的元素可以是任意数据类型
二、编程题
1. 卡号打印
(1) 第一步生成20个卡号;卡号以6102009开头, 后面3位依次是 (001, 002, 003,…,020);
(2) 第二步生成关于银行卡号的字典,默认每个卡号的初始密码为"moai";
(3) 最后输出卡号和密码信息
# 生成20个卡号
## 初始卡号格式
C_0 = ["6102009",0,0,0]
## 生成20个卡号
C = []
for i in range(20):
i += 1
if i < 10:
C_0[-1] = i
elif 10 <= i < 100:
C_0[-1] = (i % 10)
C_0[-2] = (i // 10)
elif 100 <= i < 1000:
C_0[-1] = (i % 10)
C_0[-2] = ((i // 10) % 10)
C_0[-3] = (i // 100)
C.append(f"{C_0[0]}{C_0[1]}{C_0[2]}{C_0[3]}")
# 生成关于卡号的字典,并初始化每张卡的密码
CDict = {}
for j in C:
CDict[j] = "moai"
# 打印卡号和密码信息
print("卡号\\t\\t\\t\\t密码")
for keys,values in CDict.items():
print(f"{keys}\\t\\t\\t{values}")
运行结果:

欢迎大家投稿题目或批评指正,可咨询、讲解
