![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python基础
德林恩宝
计算机科学与技术专业研究生,研究方向为计算机视觉[E-mail:baolliu@foxmail.com]
展开
-
使用selenium进行爬虫操作
简介selenium 是一个用于Web应用程序测试的工具测试直接运行在浏览器中,就像真正的用户在操作一样,一般用于测试在浏览器和系统之间的兼容性。是所有可使用工具中的适用范围最广的技术之一。Supported浏览器Edge,Firefox,Safari,Google Chrome等等形象化的执行过程Selenium模仿真正用户的操作,如打开浏览器,跳转指定url,查看指定数据等简要实际执行过程驱动浏览器根据代码中设定的url,进行跳转并加载内容当然可以插入点击,输入查询内容等操作原创 2020-11-30 08:19:42 · 1882 阅读 · 2 评论 -
北邮 python 计算北京空气质量数
dataprocess.pyimport pandas as pd#打开CSV文件fileNameStr = 'BeijingPM20100101_20151231.csv'orig_df = pd.read_csv(fileNameStr, encoding='utf-8')# PM:计算每一行【即每一小时】的平均值(由于有四个街区的数据,所以需要先求解四个街区每小时的平均值)orig_df['PM_ave'] = orig_df.iloc[:, 6:10].mean(axis=1)#原创 2020-11-24 10:20:34 · 1566 阅读 · 8 评论 -
北邮 python 爬虫爬取链家的新房数据进行数据处理
博主声明:用途仅供学习items.pyimport scrapyclass MyItem(scrapy.Item): # define the fields for your item here like: name = scrapy.Field() # 名称 place1 = scrapy.Field() # 地理位置 place2 = scrapy.Field() place3 = scrapy.Field() model = sc原创 2020-11-24 10:16:37 · 3258 阅读 · 8 评论 -
北邮 python 学堂在线动态请求页面内容爬取
声明:用途仅供学习使用spider.pyimport scrapyfrom linajia.items import MyItem # 从items.py中引入MyItem对象from scrapy import Requestfrom time import sleepclass mySpider(scrapy.spiders.Spider): name = "linajia" # 爬虫的名字是linajia allowed_domains = ["bj.lianjia.原创 2020-11-18 20:14:24 · 2035 阅读 · 17 评论 -
北邮 python 链家二手房静态页面爬取数据
spider.pyimport jsonimport scrapyfrom nxtzx.items import NxtzxItemclass NxtzxSpider(scrapy.spiders.Spider): name = "nxtzx" allowed_domains = ["xuetangx.com"] # 请求头 headers = { 'authority': 'www.xuetangx.com', 'method':原创 2020-11-18 20:12:54 · 1039 阅读 · 0 评论 -
北邮 7-6 模拟报数游戏(约瑟夫环问题) (10分)
有n个人围成一圈,从1开始按顺序编号,从第一个人开始从1到k报数,报到k的人退出圈子;然后圈子缩小,从下一个人继续游戏,问最后留下的是第几号(只留1 人)。要求定义函数实现。输入格式:初始n和k自由指定。输出格式:最后留下人的原序号,以列表形式展示。输入样例:在这里给出一组输入。例如:454输出样例:在这里给出相应的输出。例如:[27]解析简单题,定义一个列表,然后进行遍历,每次遇到整除k值,将此时位置的列表的值赋值为0,然后总人数减1,但是列表的元素数量不变,直到最后人数为.原创 2020-10-30 10:08:06 · 1473 阅读 · 0 评论 -
北邮 7-5 jmu-Java&Python-统计文字中的单词数量并按出现次数排序 (25分)
现在需要统计若干段文字(英文)中的单词数量,并且还需统计每个单词出现的次数。注1:单词之间以空格(1个或多个空格)为间隔。注2:忽略空行或者空格行。基本版:统计时,区分字母大小写,且不删除指定标点符号。进阶版:统计前,需要从文字中删除指定标点符号!.,:?。 注意:所谓的删除,就是用1个空格替换掉相应字符。统计单词时需要忽略单词的大小写。输入说明若干行英文,最后以!!!为结束。输出说明单词数量出现次数排名前10的单词(次数按照降序排序,如果次数相同,则按照键值的字母升序排序)及出现.原创 2020-10-30 10:05:37 · 2895 阅读 · 0 评论 -
北邮 7-4 解析车间里的阀门状态
CPU通过一个8位IO口读取了1个字节的内容,现在存储在一个bytes对象里,示例: b’\x45’;这8位分 别代表了车间里8个阀门的当前状态,1表示该阀门通,0表示该阀门断。请设计一个程序,从bytes对象解析出8个 阀门的当前状态,True表示通,False表示断。这8个状态应组织在一个列表中,其中,第i个元素对应输入字节的第i 位。输出格式示例:[True, False, False, True, True,True,False,False]输入格式:形如 b’\x45’的单字节bytes。.原创 2020-10-30 10:03:22 · 2849 阅读 · 0 评论 -
北邮 7-3 字典合并与排序 (10分)
用户分两行输入两个字典,格式参照输入要求;请设计程序实现:将两个字典合并为一个字典,如果两个字典中分别有相同的键(key),需将对应的值相加后作为字典中该键对应的新值。输入格式:用两行输入字典格式的两个数据,字典中键的数据类型统一为数字或字符,字典中值的数据均为数字。输出格式:输出合并后的字典数据,字典数据要求按照键的增序排列。输入样例1:输入1:{1:2,3:9,5:2,6:2}{2:1,6:3,7:9,1:4}输出样例1:输出1:{1: 6, 2: 1, 3: 9, 5: 2,.原创 2020-10-30 10:00:26 · 5815 阅读 · 1 评论 -
北邮 7-2 棋盘有地雷的八皇后问题 (30分)
在国际象棋中,皇后是最厉害的棋子,可以横走、直走,还可以斜走。棋手马克斯·贝瑟尔 1848 年提出著名的八皇后问题:即在 8 × 8 的棋盘上摆放八个皇后,使其不能互相攻击 —— 即任意两个皇后都不能处于同一行、同一列或同一条斜线上。 棋盘某个格子有地雷不能放皇后,问有多少种摆法?输入格式:有地雷格子的坐标x和y,用空格分开输出格式:摆放方法的个数输入样例:在这里给出一组输入。例如:2 4表示第二行,第四列。2 4输出样例:在这里给出相应的输出。例如:84解析这个随便写了,回溯.原创 2020-10-30 09:53:40 · 2334 阅读 · 0 评论 -
北邮 python 6 - 6 jmu-python-发牌
从键盘输入一个整数作为随机种子,随机生成一副扑克牌(去掉大小王),循环分给4位牌手,每人5张牌(第1、5、9、13、17张牌给第一个玩家,第2、6、10、14、18给第二个玩家。。。以此类推)并输出。函数接口定义:create( )shufflecard(pokers)deal(pokers,n)其中create( )的功能是生成一副不含大小王的扑克牌序列并返回;shufflecard(pokers)的功能是随机洗牌并返回洗牌后的扑克牌序列,其中 pokers 是传入的参数,表示52张扑克牌的序.原创 2020-10-23 11:38:28 · 3669 阅读 · 1 评论 -
北邮 python 6 - 5 矩阵乘法函数
分析简单题,注意三层循环的顺序放置即可解析def multiply(a,b,p,q,r): martix = [[0] * r for i in range(p)] for row in range(p): for col in range(r): for it in range(q): martix[row][col] += a[row][it] * b[it][col] return martix..原创 2020-10-23 11:34:19 · 381 阅读 · 0 评论 -
北邮 python 6 - 4 修改句子
本题参考checkio.org读入一个英文句子,将此句子的第一个字母改为大写字母,并在最后加上句号’.’注意:读入的句子有可能本来就符和要求。分析简单题,注意字母位置即可解析def fun(doc): pos = 0 ans = '' # 查找第一个为字母的位置(可能存在数字等情况) for it in range(len(doc)): if doc[it].isalpha(): pos = it原创 2020-10-23 11:32:59 · 3582 阅读 · 2 评论 -
北邮 python 6 - 3 黑洞数
题目本题要求实现一个函数,判断某整数是否是黑洞数,如果是,返回True,否则返回False。黑洞数指的是,若某整数各个位上的数字组成的最大数减去各个位上数字组成的最小数等于该数本身,则称该数为黑洞数。比如495=954-459。分析此处的测试数据均为正数,因此,进行数字字串的升序与降序排序即可。解析...原创 2020-10-23 11:30:16 · 2596 阅读 · 1 评论 -
北邮 python 6 - 2 计算素数和
本题要求计算输入两个正整数x,y(x<=y,包括x,y)素数和。函数isPrime用以判断一个数是否素数,primeSum函数返回素数和。输入格式:输入两个整数。输出格式:[m-n]间的素数和分析简单题,注意素数的判断以及部分优化解析...原创 2020-10-23 11:27:04 · 1201 阅读 · 0 评论 -
北邮 python 6 - 1 使用函数输出指定范围内Fibonacci数的个数
题目本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。 所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列,fib(0)=fib(1)=1。其中函数fib(n)须返回第n项Fibonacci数;函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。分析简单题,注意计算斐波那契数列的方法,递归(优化:记忆化)和迭代解析原创 2020-10-23 11:23:08 · 1169 阅读 · 1 评论 -
北邮 python 问题 B: 矩阵覆盖
题目描述有一个n*m的矩阵(1<=n,m<=100)。开始时,矩阵的每一个元素都是0.现在,我们要对这个矩阵做Q次操作(1<=Q<=10),每次选择一个矩形区域,此区域的左上角为x1,y1,右下角为x2,y2,然后将这个矩形区域中的所有元素改为1.数据保证1<=x1<=x2<=n,1<=y1<=y2<=m.请问最后还剩下多少个元素的值为0。输入第一行两个整数n,m,代表矩阵的大小。 第二行一个整数Q,代表操作的次数。 接下来的Q行,每行有四个原创 2020-10-16 13:12:31 · 512 阅读 · 0 评论 -
北邮 python 问题 D: 集合运算
题目描述给出两个整数集合A、B,求出他们的交集、并集以及B在A中的余集。输入 第一行为一个整数n,表示集合A中的元素个数。 第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。 第三行为一个整数m,表示集合B中的元素个数。 第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。 集合中的所有元素均为int范围内的整数,n、m<=1000。输出 第一行按从小到大的顺序输出A、B交集中的所有元素。 第二行按从小到大的顺序输出A、B并集中的所有元素。 第三原创 2020-10-16 13:08:06 · 1032 阅读 · 1 评论 -
北邮 python 问题 C: 排队前进
题目描述有 n 个人排队向一个方向前进,他们前进的速度并不一定相同。 最开始即 t=0 时,每个人的位置并不相同。可以把他们放在数轴上,设他们前进的方向为正方向,对于从左往右第 i 个人,编号为 i,他的初始位置为xi ,初始速度为vi。编号为1的人(队尾,位于数轴最左侧)的位置总为坐标原点,即总有x1=0。(位置单位为米,速度单位为米每秒)。 虽然他们的前进速度不同,但是他们要保证前后顺序不能变。即i追赶上 i+1 的时候, i 将会紧跟 i+1 以 i+1 的当前速度前进.可以认为他们是紧挨着的,之间原创 2020-10-16 13:05:53 · 1084 阅读 · 4 评论 -
北邮 python 问题 A: 页面置换
题目描述在浏览器进行页面切换时,为了加速打开之前打开过的页面,有一种常用的算法,叫做LRU(Least Recently Used)算法。某设备能够记录至多n每次访问页面A时,如果页面A不在被记录的页面中,就需要一定时间来加载这个页面。例如:某设备最多纪录3个不同页面,若页面打开顺序先后依次为1,2,3,4,2,则打开编号为4 的页面时,编号为1 的页面将被淘汰.第二次打开编号为2的页面时,并不会淘汰任何页面。若页面打开顺序依次为1,2,3,1,4,在打开编号为4的页面时,最后一次访问时间最早的原创 2020-10-16 12:56:54 · 676 阅读 · 0 评论 -
北邮python 10.9练习(代码记录)
A.B.Cimport functools def cmp(a, b): if a[5] == b[5]: if a[2] == b[2]: if a[3] == b[3]: if a[4] == b[4]: if a[1] == b[1]: if a[6] > b[6]:原创 2020-10-09 14:13:11 · 624 阅读 · 0 评论 -
python 字符串易错问题
在用单引号括起的字符串中,如果包含撇号,就将导致错误。原因:这是因为这会导致Python将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为Python代码,从而无法正确地确定字符串的结束位置。示例:print('we're chinese')测试结果撇号位于两个双引号之间,因此Python解释器能够正确地理解这个字符串。示例:str = "we're chinese"print(str)测试结果...原创 2020-09-17 15:09:28 · 643 阅读 · 0 评论