统计 THE TRAGEDY OF ROMEO AND JULIET (罗密欧与朱丽叶)英文小说中各单词出现的次数。

(统计 THE TRAGEDY OF ROMEO AND JULIET (罗密欧与朱丽叶)英文小说中各单词出现的次数。

小说TXT文件下载链接:

链接:https://pan.baidu.com/s/1u2c7O-617MboXSwBHnoOcA 提取码:vX47

评价标准:

1、能正确打开源代码文件并可运行。

2、正确分解出单词列表,如

[‘THE’, ‘TRAGEDY’, ‘OF’, ‘ROMEO’, ‘AND’, ‘JULIET’, ‘by’, ‘William’, ‘Shakespeare’]。

3、正确得到单词频次字典,如 {‘straight;’: 1, ‘noise.’: 1}。

4、按单词频次逆序输出结果,如

(601, ‘the’), (549, ‘I’), (468, ‘and’), (451, ‘to’).

#根据链接下载小说TXT文件到电脑本地,获取小说txt文件地址并正确输入
    
ad=input("请正确输入文件地址,如——G:/mooc/罗密欧与朱丽叶(英文版)莎士比亚.txt")

import os

isFile = os.path.isfile(ad)     #用于判断用户输入文件地址是否正确
if isFile :                    

#正确分解出单词列表

    f = open(ad, "r")
    file = f.read()
    words=file.split()
    
    for i in range(len(words)):                   #去除标点符号(基础有限用了笨方法)
        words[i]=words[i].replace(',','')
        words[i]=words[i].replace('.','')
        words[i]=words[i].replace('?','')
        words[i]=words[i].replace("'",'')
        words[i]=words[i].replace("--",' ')
        words[i]=words[i].replace(";",'')
        words[i]=words[i].replace("[",'')
        words[i]=words[i].replace("]",'')
        words[i]=words[i].replace("-",'')
        words[i]=words[i].replace("!",'')
        # print(words[i])  
    print("单词列表:",words)
    print("\n\n********************************************************\n\n")
    print("\n\n********************************************************\n\n")
    
    
    
# 正确得到单词频次字典
    
    word_time=dict()
    for word in words:
        word_time.setdefault(word,0)       # setdefault:如果键不存在于字典中,将会添加键并将值设为默认值
        word_time[word] += 1
    print ("单词频次:",word_time)
    print("\n\n********************************************************\n\n")
    print("\n\n********************************************************\n\n")
    
    
#按单词频次逆序输出结果


    word_time_sorted = sorted(word_time.items(), key=lambda word_time:word_time[1],reverse = True)   #sorted() 函数对所有可迭代的对象进行排序操作
    bword_time_sorted=[]
    for i in word_time_sorted:
        bword_time_sorted.append((i[0],i[1]))
    print("按单词频次逆序输出:",tuple (bword_time_sorted))
    

else :
    print("宁所输入的地址错误。")

#本例子来自于 浙江大学吴明辉教授在MOOC开设的 深度学习开发-Tensorflow 

  • 2
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值