ls=[]
co=eval(input())
for i in range(co):
x,y=input().split()
c={}
c['name']=x
c['age']=eval(y)
ls.append(c)#每次都创办一个新字典,然后将字典存储到列表里面
ls1=sorted(ls,key=lambda x:x['age'])
ls2=sorted(ls,key=lambda x:x['name'])
print(ls1)
print(ls2)
问题 B: 字典查询
dict1={'赵广辉':'13299887777','特朗普':'814666888','普京':'522888666','吴京':'13999887777'}
a=input()
o=dict1.get(a,'数据不存在')
if o=='数据不存在':
print(o)
else:
print("{}:{}".format(a,o))
问题 C: 查询省会
while True:
capitals = {'湖南':'长沙','湖北':'武汉','广东':'广州','广西':'南宁','河北':'石家庄','河南':'郑州','山东':'济南','山西':'太原','江苏':'南京','浙江':'杭州','江西':'南昌','黑龙江':'哈尔滨','新疆':'乌鲁木齐','云南':'昆明','贵州':'贵阳','福建':'福州','吉林':'长春','安徽':'合肥','四川':'成都','西藏':'拉萨','宁夏':'银川','辽宁':'沈阳','青海':'西宁','海南':'海口','甘肃':'兰州','陕西':'西安','内蒙古':'呼和浩特','台湾':'台北','北京':'北京','上海':'上海','天津':'天津','重庆':'重庆','香港':'香港','澳门':'澳门'}
a=input()
o=capitals.get(a,'输入错误')
print(o)
问题 D: 摩尔斯电码转换
Mo = [".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.",
"---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."]
letter = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
'v', 'w', 'x', 'y', 'z']
se=input().lower() #输入,并且将大写转换成小写
ls=[]
for i in se:
if i in letter:
ls.append(Mo[letter.index(i)]) #返回的是角标
else:
ls.append(i)#其它字符不变
print(''.join(ls))
问题 E: 用字典来统计词频
dict=eval(input()) #eval将字符串当成有效的表达式来求值并返回计算结果,所以输入大括号会自动返回一个字典
str=input() #input输入是可以输入空格的
l=list(str.split()) #将str以空格隔开依次截取
for i in l:
dict[i]=dict.get(i,0)+1 #get里面赋初值,第一个是键,第二个是键的初值,如果出现了就+1
print(dict)
问题 F: 字典更新
dict1 = {'赵广辉': '13299887777', '特朗普': '814666888', '普京': '522888666', '吴京': '13999887777'}
a=input()
b=input()
o=dict1.get(a,'数据不存在')
if o=='数据不存在':
print(o)
for key,value in dict1.items():
print(f"{key}:{value}")
else:
dict1[a]=b
for key,value in dict1.items():
print(f"{key}:{value}")
问题 G: 排序输出字典中数据
l1=[]
l2=[]
dic1 = {'Tom': 21, 'Bob': 18, 'Jack': 23, 'Ana': 20}
dic2 = {'李雷': 21, '韩梅梅': 18, '小明': 23, '小红': 20}
n=input()
n=int(n)
dic11=sorted(dic1.items(),key=lambda x:x[0]) #dic11是一个列表,dic1.items()是进行排序的元素,key=lambda x:x[0],对第一个元素进行排序
#第一个元素是键,第二个元素是值
dic22=sorted(dic2.items(),key=lambda x:x[1])
dic11=[x[0] for x in dic11] #dic11=[x[0] for x in dic11]取元组的第一个元素存储在新的列表中
dic11=dic11[0:n]
dic22=dic22[0:n]
print(dic11)
print(dic22)
问题 H: 打印商品名
dict1={}
str=input()
l1=list(str.split())
l2=[]
t=len(l1)
for i in range(0,t):
l2.append(i)
dict1=dict(zip(l2,l1)) #zip将两个字典连接成字符串
print("商品列表:")
for key,value in dict1.items():
print(f"{key} {value}")
问题 I: 字符串压缩
s=input()
t=len(s)
dic={}
ok=1
for i in s:
if '0'<=i<='9':
print("ERROR")
ok=0
break
else:
if i in dic.keys():
dic[i]=dic[i]+1
else:
dic[i]=1
if ok==1:
print(dic)
print(t)
s=''
for i in dic.keys():
if dic[i]>1:
'''leng=leng+2
print("{}{}".format(i,dic[i]),end="")'''
s=s+str(i)+str(dic[i])
else:
s=s+str(i)
print(s)
print(len(s))



