day06--课后练习-字典巩固

!/usr/bin/env python
_*_coding:utf-8_*_
@Author : Wenjie

1,老男孩好声⾳选秀⼤赛评委在打分的时候呢, 可以进⾏输入. 假设, 老男孩有10个评委.
让10个评委进⾏打分, 要求, 分数必须⼤于5分, ⼩于10分.

score_dic = dict()
while 1:
num = input("请输入您的评委编号(q退出):").strip()
if num.isdigit():
if score_dic.__contains__(int(num)):
print("您已经评过分了,系统退出...")
break
else:
print("欢迎您,%s号评委!"%num)
while 1:
score = int(input("请给选手打分(5<分数<10)>>: ").strip())
if score in range(6,10):
score_dic[num] = score
print("打分完毕!")
break
else:
print("请输入5-10之间的分数!")

elif num.upper() == "Q":
break
else:
print("非法的输入!")

2. 电影投票. 程序先给出⼀个⽬前正在上映的电影列表. 由⽤户给每⼀个电影打分. 最终,
将该⽤户打分信息公布出来
lst = ['⾦瓶梅', '解救吾先⽣', '美国往事', '⻄⻄⾥的美丽传说']
# 结果:\
# result = {'⾦瓶梅': 99, '解救吴先⽣': 80, '美国往事': 6, '⻄⻄⾥的美丽传说': 23}

result_dic = dict()
for i in lst:
score = input("请给电影:《%s》打分(1-100)>>:"%i).strip()
if score.isdigit():
socre = int(score)
result_dic[i] = socre
else:
print("非法的输入!")
else:
print("评价完毕,谢谢您的参与!")
print(result_dic)

3.念数字.  给出一个字典. 在字典中标识出每个数字的发音. 包括相关符号.
然后由用户输入一个数字. 让程序读出相对应的发音(不需要语音输出. 单纯的打印即可)
dic = {
'-':'fu',
'0':'ling',
'1':'yi',
'2':'er',
'3':'san',
'4':'si',
'5':'wu',
'6':'liu',
'7':'qi',
'8':'ba',
'9':'jiu'
}
voice = ""
num = input("请输入一个数字>>:").strip()
for i in num:
voice += dic[i] + " "
print(voice)

4.车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量. (升级题)
cars = ["鲁A12345","鲁B54321","京P12345","黑C12345","沪C12345"]
locals = {'沪':'上海','黑':'黑龙江','鲁':'山东','京':'北京'}

result_dic = dict()
for i in cars:
value = locals[i[0]]
if result_dic.__contains__(value):
result_dic[value] += 1
else:
result_dic[value] = 1
print(result_dic)

5.干掉主播. 现有如下主播收益信息, 按照要求, 完成相应操作:
zhubo = {'卢本伟':122000,'冯提莫':189999,'金老板':99999,'吴老板':25000000,'alex':126
}
#1、计算主播平均收益
sum = 0
for v in zhubo.values():
sum += v
line = sum / len(zhubo)

#2、干掉收益小于平均收益的主播
del_list = list()
for k in zhubo.keys():
if zhubo[k] < line:
del_list.append(k)
for i in del_list:
zhubo.pop(i)
print(zhubo)
# 字典在遍历的时候不能进行修改
#3、干掉卢本伟
zhubo.pop("卢本伟")
posted @ 2018-10-25 17:04  wenjie^_^  阅读(140)  评论(0编辑  收藏  举报