一个Python面试题
来源:互联网 发布:香港网络电视直播软件 编辑:程序博客网 时间:2024/06/07 17:34
这是我遇到的一个Python面试题,因为正则表达式用的不熟悉,所以直接没参加。最后心里过意不去,就试着写了写:
问题如下:
请完成一个程序,并能按步骤实现以下功能:
1. 下载https://en.wikipedia.org/wiki/Machine_translation 页面的内容并保存为mt.html
需要编写代码来下载页面。
2. 统计mt.html中<p>标签内下所有单词以及数目并存储到mt_word.txt中。
mt_word.txt有如下几点要求:
a) 每个单词一行。单词在前,单词出现的次数在后,中间用Tab(\t)进行分隔。
b) 单词要按照单词数目从多到少的顺序进行排列。比如说单词a出现了100次,单词b出现了10次,则单词a要在单词b的前面。
最后实现代码如下:
from bs4 import BeautifulSoupimport resoup = BeautifulSoup(open('mt.html','r', encoding='UTF-8'),'html.parser')str1=""for k in soup.find_all('p'): str1 += re.sub(r'(<.*?\w>|\(|\)|\"|\,|\.|\;|\/|\d|\$|\%|\'|\<|\-|\>|\–)', '', str(k))maps ={}for v in re.sub(r"\s+","|",str1).split("|"): if v in maps: maps[v] += 1 else: maps[v] = 1lis = sorted(maps.items(), key = lambda asd:asd[1],reverse=True)print(lis)for i in lis: with open("mt_words.txt", "a+", -1, "utf-8") as f: f.write(i[0] + '\t' + str(i[1]) + "\n")
阅读全文
0 0
- 一个Python面试题
- mark 一个python 面试题
- python的一个面试题
- Python面试题
- python面试题
- Python面试题集合
- Python面试题集合
- python面试题
- Python面试题集合
- python面试题大全
- python面试题
- Python面试题集
- python 面试题总结
- 华为python面试题
- Python 面试题
- Python面试题集合
- python软件工程师面试题
- Python 面试题集合
- Intellij跑非maven的java web项目
- easyui学习笔记之冻结列
- Windows进程通信——Socket通信
- c++开发中常见bug总结(不定期更新二)
- IOS/Iphone 中的Safari不兼容JavaScript的中的Date()
- 一个Python面试题
- ubuntu基本操作
- 《Web接口开发与自动化测试基于Python语言》–第4章
- const与readonly的区别
- python机器学习预测学习笔记(有点问题)
- IntelliJ IDEA 2017 for Mac 已激活版 (java开发工具) v2017.1 修改版
- 修改hosts文件在本地使域名解析到指定IP
- 用脚本创建快捷方式
- 串口的一点知识(摘抄)