字典内置方法
'''
字典内置方法 可变数据类型 (key为不可变数据类型)
dic = {'name':'slk', 'age':18, 'height':180}
按key取值/修改值
len() #返回字典长度
in/not in #成员运算
del dic[key] #删除某个键值对
keys()/values()/items() #取到字典的键/值/键值对
for循环
get(key, new_value) #如果key in dic,返回dic[key];如果key not in dic,返回new_value,默认返回 None
update(dic_new) #在字典后增加字典(键值对)
fromkeys({key1,key2,key3},values) #新建一个字典,但初始化的值都是一样的
setdefault(key, values1) #当key in dic时,返回dic[key];当key not in dic时,返回values1,并增 加新的键值对
copy() #复制
pop(key) #取出值,并删除键值对
popitem() #不需要传值,默认删除最后一个键值对
'''
集合内置方法
'''
集合内置方法 可变数据类型 元素为不可变数据类型 乱序(数字不乱序)
主要作用: 去重
| #并集
& #交集
- #差集
^ #交叉补集
add() #增加一个元素
pop() #随机删除
update(set1) #在后面加入set1中的元素
clear() #清空
remove(n) #按值删除指定元素,如果没有该元素,则报错,因此推荐使用discard()
discard(n) #按值删除指定元素,如果没有该元素,则返回None
set1.issubset(set2) #判断set1是不是set2的子集
set1.issuperset(set2) #判断set1是不是set2的父集
set1.difference_update(set2) #去掉set1中set1和set2的交集
set1.isdisjoint(set2) #判断set1,set2中是否有相同元素,返回布尔值
'''
| 可变 |
列表、字典、集合 |
| 不可变 |
整形、浮点型、字符串、元组 |
拷贝、浅拷贝、深拷贝
#拷贝、浅拷贝、深拷贝只针对可变数据类型
#拷贝:old中的任何数据类型变化,new都会随着变化
#浅拷贝:old中的可变数据类型变化,new变化;old中不可变数据类型变化,new不变
#深拷贝:old中的任何数据类型变化,new都不变
#内置方法中的copy()是浅拷贝
x = 10
y x #拷贝
猜年龄
while count1 <3:
age_inp = input('请输入年龄: ').strip()
if not age_inp.isdigit():
print("沙雕,tmd输数字!")
continue
age_inp = int(age_inp)
if age_inp > 18:
print('dnmd猜大了!')
elif age_inp < 18:
print('dnmd猜小了')
else:
print('哎呦运气不错!')
count1 = 9999
while count2 < 2:
print(prize)
prize_choice = input('请输入想要的奖品序号: ').strip()
if prize_choice not in prize_dict:
print('沙雕,没这个东西!')
continue
if not prize_choice.isdigit():
print('沙雕,输数字!')
continue
if prize_dict[prize_choice] in prize_list:
prize_list[prize_dict[prize_choice]] += 1
else:
prize_list[prize_dict[prize_choice]] = 1
print(f'获得{prize_dict[prize_choice]}')
count2 += 1
print(f'你获得的奖品:{prize_list}')
count1 += 1