Python 爬取pythontip网站的挑战题目(附全部题目178题)
利用urllib爬取pythontip网站上的挑战题目,附全部题目178题(其中有不存在的几题,跳空的序号),网站地址:http://www.pythontip.com/coding/code_oj
代码:
import re,urllib.request
url='http://www.pythontip.com/coding/code_oj_case/'
f=open('questions.txt','w+')
for i in range(1,179):
url0=url+str(i)
req=urllib.request.Request(url0)
try:resp=urllib.request.urlopen(req)
except:continue
data=resp.read()
data = data.decode('utf-8')
s=data.find('<h3>')+len('<h3>')
e=data.find('</h3>')
t=data[s:e].replace('<!-- -->','')
if len(t)>2000:continue
print(t)
ok=f.write(t+'\n')
data=data.replace('</p>','\n')
data=data.replace(' ','')
data=data.replace('"','\"')
data=data.replace('<','<')
data=data.replace('>','>')
data=re.sub('<.*?>','',data)
s=data.find('题目描述:')
e=data.find('提交次数')
t=data[s:e]
print(t)
ok=f.write(t+'\n')
print('='*60)
ok=f.write('='*60+'\n')
f.close()
print('Finished!')
爬取结果:
第 1 题:a + b
题目描述:
给你两个数 a、b,请你计算它们的和,并输出。
例如: a = 3, b = 2
则输出:5
提示:挑战 python 栏目的所有题目,题目中所给变量使用前不用声明,也不用赋值,系统
自动赋值。
如本题,只需一行代码即可: print a + b
系统会自动为 a 和 b 赋值,并检查代码执行结果和标准答案是否相同。示例:
输入:a = 1
b = 2
输出:3
============================================================
第 2 题:列表排序
题目描述:
给你一个列表 L, 对 L 进行升序排序并输出排序后的列表。
例如:L = [8,2,50,3]
则输出:[2,3,8,50]示例:
输入:L = [4, 2, 25, 7777777, 100, 3, 77777777, 77777777, 77777777, 77777777]
输出:[2, 3, 4, 25, 100, 7777777, 77777777, 77777777, 77777777, 77777777]
============================================================
第 3 题:字符串逆序
题目描述:
给你一个字符串 a, 请你输出逆序之后的 a。
例如:a=‘xydz’
则输出:zdyx
============================================================
第 4 题:输出字典 key
题目描述:
给你一字典 a,如 a={1:1,2:2,3:3},输出字典 a 的 key,以','连接,如‘1,2,3'。要求 key 按照
字典序升序排列(注意 key 可能是字符串)。
例如:a={1:1,2:2,3:3}, 则输出:1,2,3
============================================================
第 5 题:输出字符奇数位置的字符串
题目描述:
给你一个字符串 a, 输出 a 中奇数位置字符构成的字符串(位置编号从 1 开始)。
例如:a=‘xyzwd’
则输出:xzd 示例:
输入:a = "0123456789"
输出:02468
============================================================
第 6 题:求解 100 以内的所有素数
题目描述:输出 100 以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后
不能有空格)。
============================================================
第 7 题:求矩形面积
题目描述:
已知矩形长 a,宽 b,输出其面积和周长,面积和周长以一个空格隔开。
例如:a = 3, b = 8
则输出:24 22 示例:
输入:a = 3
b = 8
输出:24 22
============================================================
第 8 题:求中位数
题目描述:
给你一个整数列表 L, 输出 L 的中位数(若结果为小数,则保留一位小数)。
例如: L=[0,1,2,3,4]
则输出:2 示例:
输入:L = [0, 1, 8, 3, 4]
输出:3
============================================================
第 9 题:最大公约数
题目描述:
给你两个正整数 a 和 b, 输出它们的最大公约数。
例如:a = 3, b = 5
则输出:1 示例:
输入:a = 3
b = 5
输出:1
============================================================
第 10 题:最小公倍数
题目描述:
给你两个正整数 a 和 b, 输出它们的最小公倍数。
例如:a = 3, b = 5
则输出:15 示例:
输入:a = 3
b = 5
输出:15
============================================================
第 11 题:结尾 0 的个数
题目描述:
给你一个正整数列表 L, 输出 L 内所有数字的乘积末尾 0 的个数。(提示:不要直接相乘,数字
很多,相乘得到的结果可能会很大)。
例如: L=[2,8,3,50],
则输出:2 示例:
输入:L = [4, 2, 25, 7777777, 100, 3, 77777777, 77777777, 77777777, 77777777]
输出:4
============================================================
第 12 题:结尾非零数的奇偶性
题目描述:
给你一个正整数列表 L, 判断列表内所有数字乘积的最后一个非零数字的奇偶性。如果为奇
数输出 1,偶数则输出 0.。
例如:L=[2,8,3,50]
则输出:0 示例:
输入:L = [2, 8, 3, 50]
输出:0
。。。。。。
省略............
。。。。。。
完整全部内容请自行运行代码完成下载,或者通过以下地址直接下载:
相关文章
- python网站
- 【Python】批量爬取网站URL测试Struts2-045漏洞
- python基础知识-集合,列表,元组间的相互装换
- 第四百零三节,python网站在线支付,支付宝接口集成与远程调试,
- head first python 支持网站(可下载所有的代码和示例)
- Python Django手写分页代码
- 8个Python免费网站,一周熟练Python,知道就是赚到!
- 〖Python零基础入门篇(61)〗- Python 中的迭代器
- Python采集某网站小视频内容, m3u8内容下载
- 【python采集】把网站排行榜shipin内容通通采集
- Python爬虫实战,某汽车网站信息抓取并保存本地
- 单身福利专场, Python采集某相亲网站美女数据
- 【python】批量高速获取 Instagram,一个简单的外国分享网站
- python 拓扑排序正确版
- Python实现GWO智能灰狼优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战
- 【华为OD机试Python实现】HJ90 合法IP(中等)
- 【华为机试Python实现】HJ4 字符串分隔(简单)
- Python文件读写w+和r+区别解析
- python dig 模拟—— DGA域名判定用
- python工具方法 29 基于Flask搭建自己的视频服务器网站
- python库Django链接mysql数据库做网站(二)--从网页向数据库中插入数据
- python库Django链接mysql数据库做网站(一)--构建基本结构访问静态页面
- 爬虫技术成就了这些商业公司的 python网络爬虫小猿人