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['姜宇']=19for 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)+1print(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)