
python
流浪的小贝
做自己认为有价值的事情,不管别人怎么说!
展开
-
用字符串切片实现回文(palindrome)判断
好神奇,这样都可以实现。# 步长为-1 表示切片按照相反的方向访问字符串,所以切片[::-1]会得到一个逆序的字符串。def is_palindrome(string): if string == string[::-1]: return True return Falseprint(is_palindrome('abcbc'))print(is...原创 2018-09-17 22:30:36 · 1406 阅读 · 0 评论 -
selenium学习〈Python3网络爬虫开发实战〉
仅做记录 #动态渲染页面爬取(selenium)#1)模块导入from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support impo...原创 2018-11-18 19:18:33 · 394 阅读 · 0 评论 -
解析库使用(xPath)〈Python3网络爬虫开发实战〉
仅做记录 XPath对网页进行解析的过程:from lxml import etreetext = '''<div> <ul> <li class="item-0"><a href="link1.html">first item</a></li>原创 2018-11-18 19:32:40 · 168 阅读 · 0 评论 -
《自动化测试实战》笔记记录20181120
1.设置元素等待显示:WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)※ignored_exceptions: 超时后的异常信息,默认情况下抛NoSuchElementException异常。WebDriverWait一般跟until()或until_not()方法配合使用。un...原创 2018-11-20 21:56:26 · 145 阅读 · 0 评论 -
selenium webdriver对变动元素的定位
最近在看虫师的selenumiu + python实践书。里面有一个案例实现126邮箱自动登录,碰到两个问题:1.iframe切换问题2.变动元素id的定位问题 因为126邮箱的布局里面有iframe布局,所以进行定位输入框时,必须先切换到对应的iframe下面。看了很多博客,切换到iframe时,需要用如下的代码:browser.switch_to.frame(...原创 2018-11-20 12:36:17 · 1389 阅读 · 0 评论 -
selenium中的显示等待,隐示等待,强制等待(转)
主要内容转自如下两个博客:https://www.cnblogs.com/gracemm/p/8487464.htmlhttps://www.cnblogs.com/wangguoyuan-09/p/7592978.html time(固定等待)在开发自动化框架过程中,最忌讳使用Python自带模块的time的sleep方法进行等待,虽然可以自定义等待时间,但当网络条件良...转载 2018-11-28 11:24:43 · 481 阅读 · 0 评论 -
(已修改,作者没错)广度优先搜索--算法图解--书中部分"错误"解决记录
在<图解算法>的第六章 广度优先搜索中,6.5进行算法实现时,报如下错误:UnboundLocalError: local variable 'search_queue' referenced before assignment 源代码(书本是python2.x代码,转换成python3.x格式)如下:from collections import dequegra...原创 2019-01-04 12:38:32 · 708 阅读 · 0 评论 -
python3.x中的除法小记
在验证<算法图解>的例子中,自己的python3.6在进行除法运算时,有余数时没法"向下取整".(书中代码应该是2.x,所以出现了普通除法向下取整的描述.) 自己简单验证了一下,如下:print(3/2)print(2/3)print(20000/3)print(3//2)print(round(3/2))print(int(3/2))print(round(...原创 2019-01-01 18:03:10 · 397 阅读 · 0 评论 -
递归练习答案
<算法图解>4.1/4.2/4.3# 请编写前述sum函数的代码:def sum(list): if list == []: return 0 return list[0] + sum(list[1:])print(sum([4, 5, 6, 7]))# 编写一个递归函数来计算列表包含的元素数def count(list): ...原创 2019-01-02 19:24:43 · 312 阅读 · 0 评论 -
经典-快速排序
<算法图解> 摘自4.2 (python)--做个记录. # 快速排序def quicksort(array): if len(array) < 2: return array # 基线条件:为空或只包含一个元素的数组是"有序"的 else: pivot = array[0] # 递归条件...原创 2019-01-02 19:56:11 · 184 阅读 · 0 评论 -
python的列表切片(Python编程-从入门到实践)-回顾
在学习快速排序时,感觉自己对列表的切片操作还不太熟悉,重新看书查资料,汇总记录一下: list[1:4] --->取列表第2~4个元素list[:4] --->取列表前4个元素list[2:] --->取列表从第3个元素到列表末尾所有元素list[-3:] --->取列表最后3个元素list[-4:-1] --->取列表倒数第2~倒数第4个元素...原创 2019-01-02 20:42:42 · 378 阅读 · 0 评论 -
(转) [python]连接两个List
转载地址:https://blog.youkuaiyun.com/cn_wk/article/details/51304139※转载的目的主要是用切片的方法连接两个列表的方式,第一回学习到. 除了直接相加(生成新的list),还有两种方法(修改其中一个list): 用list的extend方法,L1.extend(L2),该方法将参数L2的全部元素添加到L1的尾部,例如: >...转载 2019-01-02 20:52:00 · 6397 阅读 · 0 评论 -
Python format格式化字符串(转)
转自:https://www.cnblogs.com/wilber2013/p/4641616.html # 位置参数print("{0} is {1} years old".format("Wilber", 28))print("{} is {} years old".format("Wilber", 28))print("Hi, {0}! {0} is {1} years o...转载 2018-10-10 21:39:25 · 645 阅读 · 0 评论 -
检查一个列表是否有重复元素
《像计算机科学家一样思考Python》第10章练习10-7编写一个名为has_duplicates的函数接收一个列表,当其中任何一个元素出现多于一次时返回True。它不应当修改原始列表。 ※自己实现的代码(用while循环)def has_duplicates(t): new_t = sorted(t) index = 0 length = len(n...原创 2018-09-30 11:23:32 · 1608 阅读 · 0 评论 -
《像计算机科学家一样思考Python》中练习9-4
这个例子是在《像计算机科学家一样思考Python》中练习9-4要求:编写一个名为uses_only的函数,接收一个单词以及字母组成的字符串,当单词只由这些字母组成时,返回True。你可以造一个句子,其单词只由字母acefhlo组成吗?除了“Hoe alfalfa"之外 ?根据教材上的提示,代码如下(反向思维): def uses_only(word, available)...原创 2018-09-23 14:04:14 · 624 阅读 · 0 评论 -
打印出不包含任意禁止字母的单词的个数
下面这个是think python 练习9-3 修改你的程序提示用户包含禁止字母的字符串,并打印出不包含任意字母的单词的个数。能不能找到一组5个禁止字母的组合,它们排除的单词量最少? def avoids(): fin = open('word2.txt') avoid_string = input('请输入需要禁止字母组成的字符串:') count_avoi...原创 2018-09-23 14:41:34 · 321 阅读 · 2 评论 -
python 递归学习记录
一直都觉得很难理解递归这种数据结构,用《算法图解》里最简单的例子,权当记录并理解一下。 def fact(x): if x == 1: return 1 else: return x * fact(x-1)fact(3)1)当x == 3 时,执行fact(3),return x * fact(3-1) → return 3 *...原创 2018-09-13 19:50:40 · 289 阅读 · 0 评论 -
Python反序打印作为参数的字符
如果有更好的实现方法,不吝赐教:# 写一个函数,接收一个字符串作为形参,并倒序显示它的字母,每个字母单独一行。def reverse_string(n): length = len(n) for i in range(length): print(n[-i-1])reverse_string("orange") #《像计算机科学家一样思考P...原创 2018-09-14 20:04:47 · 902 阅读 · 0 评论 -
python九九乘法表
之前爱人用excel写了九九乘法表=IF(AND(COLUMN(A1)<=ROW(A1),ROW(A1)<10),COLUMN(A1)&"*"&ROW(A1)&"="&COLUMN(A1)*ROW(A1),"")试试用python写一个九九乘法表。■重构a*a乘法表(函数): def jjcfb(a): for i in r..原创 2018-09-20 20:08:31 · 3760 阅读 · 0 评论 -
python中字典setdefault方法使用
# 经检查,发现自己理解错了需求,请忽略当前博文《像计算机科学家一样思考python》11.10练习中 练习 11-2阅读字典方法setdefault的文档,并使用它来写一个更简洁的invert_dict※words.txt的下载地址如下请点击这里 def invert_dict(n): # 返回一个列表,第一项用setdefault查找用户输入的单词n是否存在,第二...原创 2018-10-02 19:58:18 · 652 阅读 · 0 评论 -
查看一个列表中是否出现重复元素
转载地址:http://greenteapress.com/thinkpython2/code/has_duplicates.py《像计算机科学家一样思考Python》 11.10练习中的练习 11-4# 通过使用set函数来确定这个需求,就这段代码 return len(set(t)) < len(t) # 相当简单,努力Get一下。 def has_dup...转载 2018-10-02 20:47:16 · 1234 阅读 · 1 评论 -
*args 和 **kwargs 的区别
转自:https://www.cnblogs.com/lidaxian/p/7767364.html写得非常清楚,可以理解透彻.1. 通过一个函数调用来理解’*’的作用 它拆开数列’l’的数值作为位置参数,并吧这些位置参数传给函数’fun’来调用。因此拆数列、传位置参数意味着fun(*l)与fun(1,2,3)是等效的,因为l = [1,2,3]。 2. 通过一个函数的...转载 2018-10-11 21:06:17 · 189 阅读 · 0 评论 -
打印不含字母"e"的单词
这个例子是在《像计算机科学家一样思考Python》中练习9-2 要求:写一个函数has_no_e,当给定的单词不包含字母“e”时,返回True。修改前一节练习中的代码,打印出不含“e”的单词,并计算这种单词在整个单词表中的百分比。(words.txt)文档下载处:http://thinkpython.com/code/words.txtdef has_no_e(): ...原创 2018-09-22 22:14:23 · 918 阅读 · 0 评论 -
python中的路径问题小记
下面是自己在使用python os模块时,有关文档路径的小笔记: os.path.exists()os.path.isdir()os.path.isfile()1. 相对路径(当前目录下):./thinkpython/test.txt # 最开始有点号加斜杠表示当前目录下:再下一级文件(夹)thinkpython/text.txt #直接当前目录下的下一级文件(...原创 2018-10-06 16:42:39 · 145 阅读 · 0 评论 -
thinkpython第十章练习10-5
Points:>sorted()内置函数,不改变原来列表,新建一个升序排列的列表,并把这个新列表返回。>.sort()方法,直接改变原来列表,返回值为None。编写一个名为is_sorted的函数,接收一个列表为形参,并当列表是按照升序排好序的时候返回True,否则返回False def is_sorted(t): if t == sorted(t): ...原创 2018-09-29 22:30:38 · 569 阅读 · 0 评论 -
(转)python中全局变量跟局部变量小结
总结:内部函数,不修改全局变量可以访问全局变量 内部函数,修改同名全局变量,则python会认为它是一个局部变量 在内部函数修改同名全局变量之前调用变量名称(如print(mySum)),则引发Unbound-LocalError #例子1mySum = 5def add(a=1,b=3): print(a,b) print(mySum)add(4,8)#...转载 2019-01-08 10:22:16 · 208 阅读 · 0 评论