zoukankan      html  css  js  c++  java
  • python基础学习第四天

    #字符串到数字 可以进行各种进制转换
    #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('/')[-1]
            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+1):
            print('第%s页开始下载......'%page)
            print('*'*50)
            request=handle_request(url,page)
            content=urllib.request.urlopen(request).read().decode()
            #print(content)
    
            #解析内容,提取所有的图片链接,下载图片
            download_image(content)
            print('第%s页结束下载......'%page)
            print('*'*50)
    
    if __name__=='__main__':
        main()
  • 相关阅读:
    SPSS分析技术:CMH检验(分层卡方检验);辛普森悖论,数据分析的谬误
    揭秘10个大数据神话 为你排除几个误区
    SPSS统计分析案例:无空白列重复正交试验设计方差分析
    SPSS统计分析案例:无空白列重复正交试验设计方差分析
    单点登录系统和CAS的简介
    多线程
    HTTP 400错误--请求无效
    前端框架bootstrap(响应式布局)入门
    MQ(队列消息的入门)
    ActiveMQ下载与安装(Linux环境下进行)
  • 原文地址:https://www.cnblogs.com/mutong1228/p/10321510.html
Copyright © 2011-2022 走看看