#字符串到数字 可以进行各种进制转换
#print(int('11111',8)) #需求 对字符串中的单词翻转 保留空格
#第一种方法 最笨
clstr='I love you!'
bam=clstr.split(' ')
rebam=bam[2]+' '+bam[1]+' '+bam[0]
#print(rebam)
#第二种方法
def reverse_word(s):
s1=s.split(' ')
i=0
j=len(s1)-1
while i<j:
"""
temp=s1[i]
s1[i]=s1[j]
s1[j]=temp
"""
#直接交换位置
s1[i],s1[j]=s1[j],s1[i]
i+=1
j-=1
return ' '.join(s1) #字典 dict
def func(p):
print('x=',p['x'])
print('y=',p['y'])
#**表示是一个字典 key/value类型
def dcfunc(name,**dicaddr):
print(name)
print(type(dicaddr))
print(dicaddr)
#可变参数 *numberis 是一个可变的参数 tuple
def tufunc(name,*numbers):
print(type(numbers))
print(numbers) #递归
def my_sum(i):
if i < 0:
raise ValueError
elif i <= 1:
return i
else:
return i + my_sum(i-1)
#斐波那数列
def feibona(count):
a=1
b=1
while a<count:
print(a)
a,b=b,a+b
def fibo(num):
if num==1 or num==2:
return 1
else:
return fibo(num-2)+fibo(num-1)
#print(fibo(15))
def gerFiboList(num):
fiboList=[]
for i in range(1,num+1):
fiboList.append(fibo(i))
return fiboList
#print(gerFiboList(15)) def hano(n,a,b,c):
print(n)
if n==1:
print(a,"->",c)
else:
#将n-1个盘子从x->y
hano(n-1,a,c,b)
#将剩余的最后一个盘子从x->z
hano(1,a,b,c)
#将剩余的n-1个盘子从y->z
hano(n-1,b,a,c) if __name__=='__main__':
s='I love you! hello world'
#print(reverse_word(s))
#func({'x':100,'y':200})
#tuple 元组
#tufunc('jack',2,34,45,32,3)
#dcfunc('batman',china='北京',eluoshi='克林姆宫',taiguo='曼谷')
#print(my_sum(1))
#print(my_sum(2))
#print(my_sum(5)) #feibona(50)
#gerFiboList(50)
print('---------------------')
#print(gerFiboList(20))
#print(fibo(20))
hano(4,'A','B','C')
import urllib.parse
import urllib.request
import re
import os def handle_request(url,page):
url = url+str(page)+'/'
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36',
} request=urllib.request.Request(url=url,headers=headers) return request def download_image(content):
pattern=re.compile(r'<div class="thumb">.*?<img src="(.*?)".*?>.*?</div>',re.S)
lt=pattern.findall(content)
#print(lt)
for link in lt:
link='https:'+link dirname='qiutu'
if not os.path.exists('qiutu'):
os.mkdir(dirname) filename=link.split('/')[-]
filepath=dirname+'/'+filename
print('%s图片开始下载......'%filename)
urllib.request.urlretrieve(link,filepath)
print('%s图片结束下载......'%filename) def main():
url='http://www.qiushibaike.com/pic/page/'
start_page=int(input("请输入起始页码:"))
end_page=int(input("请输入结束页码:")) for page in range(start_page,end_page+):
print('第%s页开始下载......'%page)
print('*'*)
request=handle_request(url,page)
content=urllib.request.urlopen(request).read().decode()
#print(content) #解析内容,提取所有的图片链接,下载图片
download_image(content)
print('第%s页结束下载......'%page)
print('*'*) if __name__=='__main__':
main()

python基础学习第四天的更多相关文章

  1. Python基础学习(四)

    菜鸟咀嚼python基础之继续. 一.返回函数 第三章已经简单操作了Python的高阶函数,目前继续练手函数作为返回值的特效:通常,高阶函数除了可以接收函数作为参数外,还可以把函数作为结果值返回. 案 ...

  2. python基础学习(四)if判断语句

    if判断语句的基本语法 在python中,if判断的格式如下: if 条件: 条件成立时,执行的语句 ...... 注意:代码的缩进要使用一个tab键或者四个空格(建议使用四个空格,tab和空格最好不 ...

  3. Python基础学习篇章四

    一. Python数据类型之字典 1. 键的排序:for循环 由于字典不是序列,因此没有可靠的从左至右的顺序.这就导致当建立一个字典,将它打印出来,它的键也许会以与我们输入时的不同的顺序出现.有时候我 ...

  4. Python基础学习总结(四)

    6.高阶特性 6.1迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration).在Python中,迭代是通过for ... ...

  5. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  6. Python基础学习四

    Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...

  7. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  8. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  9. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

随机推荐

  1. 浏览器能正常访问的url,superagent不能正常访问

    在写音乐播放器的过程中,我需要获取qq音乐排行榜的信息,于是我向以前一样,在后台的MusicController中添加一个getTopList方法 然后写下以下代码 // 获取排行 async get ...

  2. 在WindowsPhone开发中使用MVVM设计模式

    相信.NET程序员多多少少都听说过MVVM的设计模式,对于一个大一点的项目来说,使用这种设计模式无疑是一种不错的选择, 它提高了程序的可维护性,降低了耦合度,可以实现代码的重用,方便独立开发和进行测试 ...

  3. 列表中文字太多 溢出使用省略号css方法

    我们经常会遇到文字太多,而为了不打破原有布局,需要将多出文字用省略号代替,实现以下效果: 文字太太太太多多多啦...... 这个不多. html:这是个列表.ul/ol都行. <ul> & ...

  4. python爬虫简单代码爬取郭德纲单口相声

    搜索老郭的单口相声,打开检查模式,刷新 没有什么有价值的东东, 不过....清掉内容, 点击一个相声,再看看有些什么 是不是发现了些什么 我们来点击这个看看, 首先看一下headers, 这个url是 ...

  5. JS中的数学方法

    1 . Math.ceil()      向上取整 2.  Math.floor()     向下取整 3. Math.round()    四舍五入取整 4.  Math.random()   生成 ...

  6. 使用 Java 8 语言功能

    Android Studio 3.0 及以上版本支持所有 Java 7 语言功能,以及部分 Java 8 语言功能(具体因平台版本而异). 本页介绍您可以使用的 Java 8 语言功能.如何正确配置项 ...

  7. 关于CSS的一些基础内容

    最近用到了CSS,刚好学学.CSS(Cascading Style Sheet)中文名层叠样式表,用于为html文档添加样式控制,也是一种计算机语言. 一.CSS语法a)CSS规则由选择器和声明组成, ...

  8. .NetCore(四) 在Nginx部署

    ​本篇主要体验一下Nginx的使用,之前只接触过IIS. 一.Nginxa) ASP.NET Core内置了Kestrel服务器,但功能简单,主要用于SelfHost,正式运行还是要依赖IIS.Apa ...

  9. .Net Core(一)环境搭建与基本使用

    .Net Core(一)环境搭建与基本使用 一.系统配置 a) Linux下如果想要打开类似任务管理器,可以使用top命令,在控制台会动态刷新CPU和内存占用.进程等信息.vmstat和free命令可 ...

  10. android.support不统一的问题

    今天supprt28遇到的问题,由于28还是预览版,还存在一些bug 都是因为如果程序内出现不同的,support或者其他外部引用库的多个版本,Gradle在进行合并的时候会使用本地持有的,最高版本的 ...