头歌:实验十 字典

第1关 统计文档中作者作品数量 

f1=open("sy9//中学诗词.txt","r",encoding='utf-8')
#代码开始
zj={}
for x in f1:
    if  " " in x and not "," in x and not "!" in x :
        x=x.strip('\n').strip(' ')
        y=x.rfind(' ')
        name=x[y+1:]
        zj[name]=zj.get(name,0)+1
lt=list(zj.items())
lt.sort(key=lambda x:x[1],reverse=True)
#代码结束
for i in lt:
    print(i[0],i[1])
f1.close()


 第2关 候选人票数统计

tp=[]
x=input("")
while(x!="end"):
    tp.append(x)
    x=input("")
#代码开始
zd={}
for y in tp:
        zd[y]=zd.get(y,0)+1
items=list(zd.items())
items.sort(key=lambda h:h[1],reverse=True) 
#代码结束
for i in range(len(items)):
    print("第{}名姓名{}票数{}".format(i+1,items[i][0],items[i][1]))

第3关 会员会费计算

f1=open("sy9//会员名单.txt","r",encoding="utf8")
#代码开始
dict1={"影视黄金会员":199,"影视星钻会员":399,"非影视会员":0}
dict2={"体育大众会员":98,"体育专业会员":198,"非体育会员":0}
for x in f1:
    s=x.strip().split(",")
    print(s[0],dict1[s[1]]+dict2[s[2]])
#代码结束
f1.close()

第4关 职工工资计算

zg=[]
xx=input("")
while(xx!="end"):
    sj=xx.split(',')
    zg.append([sj[0],eval(sj[1]),sj[2],sj[3]])
    xx=input("")
#代码开始
yfgz=[]
zd1={"北京":5000,"上海":4000,"广州":3000}
zd2={"销售部":2000,"经理室":3000,"财会部":1000}
for yg in zg:
    gz=yg[1]+zd1[yg[2]]+zd2[yg[3]]
    yfgz.append([yg[0],gz])
yfgz.sort(key=lambda y:y[1],reverse=True) 
#代码结束
for x in yfgz:
    print("姓名"+x[0]+"工资"+str(x[1]))

第5关 文件币种兑换计算 

f1=open("sy9//汇率兑换.txt","r",encoding="utf-8")
bzzd={}
#代码开始
for x in f1:
    bz=x[x.find("(")+1:x.find("(")+4]
    hv=x[x.find("=")+1:x.find("人民币")]
    bzzd[bz]=eval(hv)
hb=input("")
while hb!="0":
    bz=hb[:3].upper()
    if bz not in bzzd:
        print("币种错误")
    else:
        if not hb[3:].isnumeric():
            print("数字错误")
        else:
            je=eval(hb[3:])
            zhje=bzzd[bz]*je
            print("人民币{:.2f}".format(zhje))
    hb=input("")
#代码结束
f1.close()
    

 第6关 饮品销售计算

f1=open("sy9//nc.csv","r",encoding="utf8")
#代码开始
nczd={}
for line in f1:
    x=line.strip("\n").split(",")
    nczd[x[0]]=eval(x[2])
    print("编号{}饮品{}价格{}".format(x[0],x[1],x[2]))
yp=input("请选择饮品")
je=0
while yp!="00":
    sl=eval(input("请输入数量"))
    je=je+sl*nczd[yp]
    yp=input("请选择饮品") 
    if yp=="99":
        print("编码错误")
        yp=input("请选择饮品")
        sl=eval(input("请输入数量"))
        je=je+sl*nczd[yp]
        yp=input("请选择饮品")
        break
#代码结束
print("应付{}元".format(je))

第7关 统计文件词语的词频

import jieba
f1= open("sy9//宋词.txt", "r")
#代码开始
txt=f1.read()
pc=set()
f1.seek(0,0)
for line in f1:
    if " " in line :
        cp=line[:line.find(" ")]
        pc.add(cp)
        xm=line[line.find(" ")+1:].strip()
        pc.add(xm)
f1.close()
for x in pc:
    txt=txt.replace(x,"")
words  = jieba.lcut(txt)
counts = {}
for word in words:
    if len(word)>1 :
            counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
#代码结束
for i in range(15):
    print("{}{}".format(items[i][0],items[i][1]))

 第8关 宋词文件词云图片

import jieba
import wordcloud
f1= open("sy9//宋词.txt", "r")
#代码开始
txt=f1.read()
pc=set()
f1.seek(0,0)
for line in f1:
    if " " in line:
        cp=line[:line.find(" ")]
        pc.add(cp)
        xm=line[line.find(" ")+1:].strip("\n")
        pc.add(xm)
f1.close()
for x in pc:
    txt=txt.replace(x,"")
counts = {}
words  = jieba.lcut(txt)
for word in words:
    if len(word)>1 :
            counts[word] = counts.get(word,0) + 1
w=wordcloud.WordCloud(font_path="sy9//simhei.ttf",background_color='white',max_words=300,width=1000,height=700)
w.generate_from_frequencies(counts)
#代码结束
w.to_file("sy9//pict//sc1.png")
  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
字典与集合习题是Python中用于练习字典和集合的一系列习题。下面以这个习题为例来进行回答。 1. 字典和集合的区别是什么? 字典是一种键-值对应的数据结构,键是唯一的,用于获取对应的值。集合是一种无序不重复元素的容器,只有值,没有键。 2. 如何创建一个字典? 可以使用大括号{}来创建一个字典,使用冒号:进行键值对的赋值。例如: dict = {"name": "John", "age": 25, "job": "teacher"} 3. 如何向字典中添加新的键值对? 可以通过字典名[键] = 值的方式来添加新的键值对。例如: dict["city"] = "New York" 4. 如何获取字典中的值? 通过字典名[键]的方式可以获取字典中对应键的值。例如: value = dict["age"] 5. 如何删除字典中的键值对? 可以使用del语句删除字典中的键值对。例如: del dict["age"] 6. 如何创建一个集合? 可以使用大括号{}来创建一个集合,直接在大括号内放入元素即可。例如: set = {1, 2, 3, 4, 5} 7. 如何向集合中添加元素? 可以使用add()方法向集合中添加元素。例如: set.add(6) 8. 如何从集合中删除元素? 可以使用remove()方法从集合中删除指定元素。例如: set.remove(4) 9. 如何获取字典中的所有键? 可以使用keys()方法获取字典中的所有键。例如: keys = dict.keys() 10. 如何判断一个元素是否在集合中? 可以使用in关键字判断一个元素是否在集合中。例如: if 6 in set: print("存在") else: print("不存在") 通过以上问题的回答,可以对Python字典和集合操作有一个初步了解。希望对你有帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值