python期考练习
目录
1. 首都名编辑
2. 摩斯电码
3. 登录
4. 学生的姓名和年龄编辑
5. 电商
6. 学生基本信息
7. 字母数
1. 首都名
初始字典 (可复制) :
d={"China":"Beijing","America":"Washington","Norway":"Oslo","Japan":"Tokyo","Germany":"Berlin","Canada":"Ottawa","France":"Paris","Thailand":"Bangkok"}
d={"China":"Beijing","America":"Washington","Norway":"Oslo","Japan":"Tokyo","Germany":"Berlin","Canada":"Ottawa","France":"Paris","Thailand":"Bangkok"}
k=input()
d1={k.lower():b for k,b in d.items()}
if k.lower() in d1:
print(d1[k.lower()])
else:
print("未查询到国家名")
2. 摩斯电码
dicPwd = {'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' : '--**'}
dicPwd = {'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' : '--**'}
a=input()
a=a.upper()
n=list(a)
for i in a:
print(dicPwd[i])
3. 登录
d={'John':123,'Marry':111,'Tommy':123456}
a=input()
b=eval(input())
if a in d: #字典无序,直接if即可,无需遍历
if b==d[a]:
print('登录成功')
else:
print('密码不正确')
else:
print('用户名不正确')
4. 学生的姓名和年龄
dic_student={}
dic_student['王建']=18
dic_student['张云']=19
dic_student['张秋雨']=18
dic_student['刘欢']=17
dic_student['姜宇']=19
for a,b in dic_student.items():
print(a,b)
5. 电商
d={'方糖':99,'X1':499,'魔盒':399,'曲奇':299}
for k,v in d.items():
print(f'{k}:{v}元')
avg=round(sum(d.values())/len(d))
print(avg)
ls=sorted(d.items(),key=lambda x:x[1],reverse=True)
print(ls[0][0])
6. 学生基本信息
d={'李宁':['男',19],'杨洋':['女',18],'张帆':['男',18],'许可可':['女',20],
'王小':['女',19],'陈曦':['女',19]}
counts={}
names=[]
for a,b in d.items():
counts[b[0]]=counts.get(b[0],0)+1
print(counts['男'])
print(counts['女'])
for a,b in d.items():
if b[1]>18:
print(a,end=' ')
7. 字母数
d={}
n=input()
for i in n:
if i.isalpha():
i=i.lower()
d[i]=d.get(i,0)+1
ls=sorted(d.items(),key=lambda x:x[1],reverse=True)
print(ls)