Python开打Day06(练习)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开打Day06(练习)相关的知识,希望对你有一定的参考价值。

print(______________________________一__________________________________)

li = [11,22,33,44,55]#建立一个列表
def aaa(a):#创建一个函数并传参
    if a > 33:#判断传进来的参数大于33
        return a#如果传进来的参数大于33返回参数,否则不返回
b = filter(aaa,li)#使用filter内置函数执行,执行完成后是一个对象需要循环输出
for i in b:#循环输出使用filter内置函数执行后的结果
    print(i)

print(______________________________二__________________________________)

a = filter(lambda x : x > 33,[11,22,33,44,55])#使用lambda和filter内置函数完成数字大于33的返回,同样需要循环输出
for i in a:
    print(i)

print(______________________________三__________________________________)

li = [11,22,33,44,55]#定义一个列表
def aab(a):#定义一个函数并可以传参数
    if a%2 == 1:#判断a除2取余得1的
        return a+100#判断成功后返回传进来的参数并且给参数的值加100
    return a#判断不成功的返回当前传进来的参数
a = map(aab,li)#使用内置函数执行自定义函数并传列表进去
for i in a:#应为map函数执行完成后也是对象需要循环输出
    print(i)

print(______________________________四__________________________________)

a = map(lambda x:x+100 if x%2 == 1 else x,[11,22,33,44,55])#使用lambda和map内置函数完成数字是奇数的加100返回,不是奇数的返回换进来的参数,同样需要循环输出
for i in a:
    print(i)

print(______________________________五__________________________________)

for i in range(1,11):#循环1到10数字
    print(第%s章%i)#自定义输出当前循环的数字
    for ii in range(1,10):#循环1到9数字
        print(%s.%s%(i,ii))#自定义输出,每一次都是用上一层循环的值在前面

print(______________________________六__________________________________)

def asd(a):#定义一个变量,并且传一个参数
    if a == 7:#判断传进来的参数是不是7
        return 7#判断成功穿件来的参数是7就退出函数返回7
    return a * asd(a+1)#判断不通过返回当前使用的参数乘继续函数执行参数+1
print(asd(1))#输出最后得到的结果

print(______________________________七__________________________________)

l1 = [22,55,11,66,33,77,44,221,6,33,7,4,32]#定义一个列表
l2 = []#定义一个空的列表
def abc(a,b):#自定义一个函数需要传两个参数
    ab=0#默认ab=0
    while True:   #while死循环
        if ab == len(a)-1: #判断ab等于当前参数a总长度-1
            break#如果判断成功退出循环
        a.sort()#判断不成功把传进来的a参数sort排列一下
        b.insert(0,a[ab])#向b空列表的第0个位置插入sort后的值并索引为ab当前值的
        ab+=1#向ab空列表添加完成后将ab+1
    return b#当死循环执行结束后返回b参数
print(abc(l1,l2))#输出函数执行完成后返回的结果

print(______________________________八__________________________________)

def outer(func):#定义装饰器func是使用装饰器的函数
    def inter(*args,**kwargs):#定义一个函数可以传任何参数
        print(before)#输出before
        a=func(*args,**kwargs)#执行使用装饰器的函数
        print(after)#输出after
        return a#返回使用装饰器函数的返回值
    return inter#返回inter执行完成后的值
@outer#使用装饰器outer
def f1(arg):#自定义函数需要传一个参数
    print(arg+1)#输出传进来的参数+1后的值
@outer#使用装饰器outer
def f2(arg1,arg2):#自定义一个函数,需要传两个参数
    print(arg1+arg2)#输出传进来的两个参数相加的和
f1(2)#执行函数f1
print(___________________________________)#自定义输出为了更明显个看出执行结果
f2(2,3)#执行函数f2

print(______________________________九__________________________________)

import requests,re#导入模块requests和re
from xml.etree import ElementTree as ET#导入模块xml
ab = [省:,市:,‘‘,‘‘,查询时间:,温度:,今日天气:,风向,‘‘,‘‘,‘‘,‘‘,明日温度:,明日天气:,明日风向:,‘‘,‘‘,后天温度:,后天天气:,后天风向:,‘‘,‘‘,‘‘,]#定义一个列表
a = requests.get(http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName=%E4%B8%8A%E6%B5%B7).text#使用requests模块的get发放请求对应的网站并且转成内容
b = ET.XML(a)#解析成XML格式
for k,i in enumerate(b):#for循环解析后的XML格式并加上enumerate做索引列表位置
    if ab[k] == ‘‘:#判断当前循环的k对应的ab列表是一个空
        if re.search(r^\d,i.text):#使用正则判断本次循环的内容是以数字开头
            continue#跳过本次循环进行下次循环
        print(i.text.strip())#判断失败后输出内容并去掉两边的空格或其他字符
    else:#判断当前ab对应的key不是‘‘
        print(ab[k].strip(),i.text.strip())#自定义输出内容对应的列表内容加本次循环的值

print(______________________________十__________________________________)

import re,json#导入模块re和json
aa = []#定义一个空的列表
with open(db,r) as a,open(db2,w) as b:#使用with方法同时打开两个文件
    c = input(请输入:)#等待用户输入
    if c[0] == {:#判断用户输入的第一个字符是{
        c = json.loads(c)#判断成功将用户输入的内容序列化
        for i in a:#循环db文件,默认是一行一行的循环
            aa.append(i)#每一次的循环添加到aa列表中
            abb = c[backend]#定义一个变量内容为用户字典中backend的值
        for i in aa:#循环aa列表
            a2 = re.search(r^backend.+abb+*,i)#使用re模块拿到当前循环开头是backend的中间一个随意字符是用户传进来字典backend的值(abb)并取到最后
            if a2:#判断a2是否有值,如果有值向下执行没有就跳过
                b2 = c[record]#将用户传进来字典的record的值赋值给b2变量
                i = str(i+        server +str(b2[server])+ weight +str(b2[weight])+ maxconn +str(b2[maxconn])+\n)#使用字符串拼接的方法将每一个值拼接起来并赋值给i
            b.write(i)#向b写入当前i的内容
        exit("Good Bye")#结束程序输出Good Bye
    for i in a:#在上面判断时第一个字符不是{,执行该循环
        ab = re.search(r^backend.*,i)#使用re模块的search方法找到db文件中以backend开头的值
        if ab:#判断re模块的search是否有值,如果有继续执行没有就跳过
            abc = ab.group().rsplit( )#判断ab对象有值,取出其值并以空格分隔成列表
            if c == abc[1]:#判断分隔后abc列表的第一个元素是用户输入的值
                for i in a:#循环从当前指针开始向后的值
                    if re.search(r^backend,i):#判断本次循环的值开头是不是backend,如果是就退出循环
                        break#退出循环
                    aa.append(i.strip())#判断不成立将i的值添加的aa列表中并去掉前后两边的回车或者空格灯符号
    for i in aa:#循环aa列表
        print(i)#输出当前循环的值

 

以上是关于Python开打Day06(练习)的主要内容,如果未能解决你的问题,请参考以下文章

Python练习(day9)

python15 - day06 模块

cgb2111-day06

cgb2111-day06

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

day06:三级菜单练习0218