【Python】字典练习

16 篇文章 0 订阅
14 篇文章 0 订阅

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)
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值