新葡萄京娱乐场

让-Pierre-马瑞勒

四月 19th, 2019  |  新葡萄京娱乐场网址

新葡萄京娱乐场网址 1

2016.1.3-2017.7.17

2015-11-08 第三天,2015-11-08

计算器:

numx = "3 * 5 /-2 -(8*3/(20+3/2-5) + 4 /(3-2) * -3 ) "

有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66 , 'k2': 小于66}

v1 = [11,22,33,44,55,66,77,88,99,90]
dicNum = {"k1":[],"k2":[]}

for i in v1:
    if int(i) > 66:
        dicNum["k1"].append(i)
    else:
        dicNum["k2"].append(i)
print dicNum["k1"]
print dicNum["k2"]
print dicNum

v2 = [11,22,33,44,55,66,77,88,99,90]
dicNum = {}
for i in v2:
    if int(i) > 66:
        if "k1" in dicNum:
            dicNum["k1"].append(i)
        else:
            dicNum["k1"] = [i]
    else:
        if "k2" in dicNum:
            dicNum["k2"].append(i)
        else:
            dicNum["k2"] = [i]
print dicNum["k1"]
print dicNum["k2"]

2015-11-15 第四天,2015-11-15

关注 300

2016.1.3

collection

# 默认字典
myDict = collections.defaultdict(list)
myDict["k1"].append(1)
print myDict["k1"]

# 有序字典 orderdict

有序字典是在字典里面维护了一个列表

#计数器counter

list1 = [11,22,33,44,5544,3322,111]
tuple1 = (11,22,33,44,222,5555,2222)
str1 = "2343252632642362hfidsafhsifoesagoewagewaglsanldsa;lsf;sahflaf;saf;la"
c2 = collections.Counter(str1)
print c2

冒泡算法

渴求:给定四个列表 [13,22,6,99,11]
通进度序落成让她们得以从小到大排序。

思路:让相近的多少个数互比大小,存在大数就投身左边。

自己的完毕:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'lilon'
li = [33,11,88,77,44,345,223,113,555,23,3]
print li
print "**************************8"

#定义冒泡函数,计算排序,最大数放在右面
def maopao():
    #循环,从1开始,例如range(1,5) 1,2,3,4 注意没有5
    for n in range (1,len(li)):
        #循环,从0开始到 例如range(5-1 4) range(5-2 3) range(5-3 2) range(5-4 1)
        for m in range(len(li)-n):
            #给num1赋值 li[m]
            num1 = li[m]
            #给num2赋值 li[m+1]
            num2 = li[m+1]
            #比较num1 num2
            if num1 > num2:
                #通过临时变量temp交换li[m] 和 li[m+1]
                temp = num1
                li[m] = num2
                li[m+1] = temp

        print li
    print li
    pass


#定义一个主函数
def main():
    maopao()

#限制程序入口
if __name__ =="__main__":
    main()

献吻 0

2016.1.4

Queue

import Queue
q = Queue.Queue()
q.put(2)
q.put(3)
q.put(23)
print q.get()

新葡萄京娱乐场网址,详说修改配置文件的不2法门

私下认可配置

global       
        log 127.0.0.1 local2
        daemon
        maxconn 256
        log 127.0.0.1 local2 info
defaults
        log global
        mode http
        timeout connect 5000ms
        timeout client 50000ms
        timeout server 50000ms
        option  dontlognull

listen stats :8888
        stats enable
        stats uri       /admin
        stats auth      admin:1234

frontend oldboy.org
        bind 0.0.0.0:80
        option httplog
        option httpclose
        option  forwardfor
        log global
        acl www hdr_reg(host) -i www.oldboy.org
        use_backend www.oldboy.org if www

backend www.oldboy.org
        server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000

原配置文件

修改必要

1、查
    输入:www.oldboy.org
    获取当前backend下的所有记录

2、新建
    输入:
        arg = {
            'bakend': 'www.oldboy.org',
            'record':{
                'server': '100.1.7.9',
                'weight': 20,
                'maxconn': 30
            }
        }

3、删除
    输入:
        arg = {
            'bakend': 'www.oldboy.org',
            'record':{
                'server': '100.1.7.9',
                'weight': 20,
                'maxconn': 30
            }
        }

需求

本身的达成

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'lilon'
import os
import json

#定义好一个函数,用来做查找
def fetch(ha):
    backendlist = ha
    #先准备一个列表,在后面用来加入查到的backend字段下的server信息
    serverinfo = []
    # print "backend %s" %backendlist
    #使用with的方式打开文件,可以自动的关闭文件,减少我们出错误的可能
    with open ("oldboy.conf","r")as obj:
        """
        #灵活添加flag,使用flag做一个开关,匹配到了相关的backend就把flag设置为True,
        直到遇到了backend开头的其他的字段,就把flag设置为False,
        中间的就是我们需要的信息,使用列表的append()方法就可以添加了
        """
        flag = False
        #循环,一次一行,处理大文件必须的方式
        for line in obj:
            if line.strip() == "backend %s" % backendlist:
                flag = True
                continue
            #灵活性代码 startswitch方法 匹配开头是backend的行
            if flag and line.strip().startswith("backend"):
                flag = False
                break
            """
            #当我们确认了flag是True,
            意味着上面已经找到了相关的backend,
            而且把flag设置为了True了,
            所以我们现在可以通过append()方法来把相关的server info
            加入到了列表里面
            """
            if flag and line.strip():
                serverinfo.append(line.strip())
    if serverinfo:
        return serverinfo




#定义一个函数,做增加
def backendadd(**dict_info):
    fetch_list = []
    backend_title = dict_info.get("backend")
    current_record_pre = "server {server} weight {weight} maxconn {maxconn}"
    current_record = current_record_pre.format(**dict_info.get("record"))
    fetch_list = fetch(backend_title)
    if fetch_list:
        if current_record in fetch_list:
            pass
        else:
            fetch_list.append(current_record)
            with open("oldboy.conf","r") as objConf, open("conf.temp","w") as objTemp:
                flag = False
                isWrite = True
                for line in objConf:
                    if line.strip() == "backend %s" %backend_title:
                        objTemp.write(line)
                        flag = True
                        continue
                    if flag == True and line.strip().startswith("backend"):
                        flag = False
                    if flag == True:
                        if isWrite:
                            for new_line in fetch_list:
                                temp = "%s%s\n" %(" "*8,new_line)
                                objTemp.write(temp)
                            isWrite = True
                    else:
                        objTemp.write(line)
            if os.path.isfile("oldboy.bak"):
                os.remove("oldboy.bak")
            os.rename("oldboy.conf","oldboy.bak")
            os.rename("conf.temp","oldboy.conf")
            return True
    else:
        with open("oldboy.conf","r") as objConf, open("conf.temp","w") as objTemp:
            for line in objConf:
                objTemp.write(line)
            objTemp.write("backend %s\n" %backend_title)
            objTemp.write("%s%s\n" %(" "*8,current_record))
        if os.path.isfile("oldboy.bak"):
                os.remove("oldboy.bak")
        os.rename("oldboy.conf","oldboy.bak")
        os.rename("conf.temp","oldboy.conf")
        return True

def delitem(**dict_info):
    fetch_list = []
    backend_title = dict_info.get("backend")
    current_record_pre = "server {server} weight {weight} maxconn {maxconn}"
    current_record = current_record_pre.format(**dict_info.get("record"))
    fetch_list = fetch(backend_title)
    if fetch_list:
        if current_record in fetch_list:
            with open("oldboy.conf","r") as objConf, open("conf.temp","w") as objTemp:
                if len(fetch_list) > 1:
                    for line in objConf:
                        if line.strip() == current_record:
                            continue
                        else:
                            objTemp.write(line)
                else:
                    for line in objConf:
                        if line.strip() == "backend %s" %backend_title:
                            continue
                        if line.strip() == current_record:
                            continue
                        else:
                            objTemp.write(line)
            if os.path.isfile("oldboy.bak"):
                os.remove("oldboy.bak")
            os.rename("oldboy.conf","oldboy.bak")
            os.rename("conf.temp","oldboy.conf")
            return True
        else:
            pass
    else:
        pass
    pass

def backup():
    os.remove("oldboy.conf")
    os.rename("oldboy.bak","oldboy.conf")



#定义一个主函数
def main():
    ha = "buy.oldboy.org"
    dictItem = {
            'backend': 'buy.oldboy.org',
            'record':{
                'server': '101.1.71.90 100.1.7.90',
                'weight': 22,
                'maxconn': 3000
            }
        }
    userInput = int(raw_input("hi plese input your choice:\n 1.search \n 2.add \n 3.del \n"))
    if userInput == 1:
        print "you select search."
        # userInputSearch = raw_input("input a backend url")
        searchEnd = fetch(ha)
        if searchEnd:
            for line in searchEnd:
                print line
            print "search End!"
        else:
            print "sorry not found!"

    elif userInput == 2:
        print "you select add."
        addEnd = backendadd(**dictItem)
        if addEnd:
            print "add successful"
        else:
            print "error!!!"

    elif userInput == 3:
        print "you select del."
        delEnd = delitem(**dictItem)
        if delEnd:
            print "del successful"
        else:
            print "no file in their"
            if os.path.isfile("oldboy.temp.conf"):
                os.remove("oldboy.temp.conf")

    elif userInput == 4:
        print "this is a super command"
        backup()
    else:
        print "sorry, i can not do that!!!"



#限制程序入口
if __name__ =="__main__":
    main()

 

献花 0

2016.1.12

生成器

练习:<br>有如下列表:
    [13, 22, 6, 99, 11]

请按照一下规则计算:
13 和 22 比较,将大的值放在右侧,即:[13, 22, 6, 99, 11]
22 和 6 比较,将大的值放在右侧,即:[13, 6, 22, 99, 11]
22 和 99 比较,将大的值放在右侧,即:[13, 6, 22, 99, 11]
99 和 42 比较,将大的值放在右侧,即:[13, 6, 22, 11, 99,]

13 和 6 比较,将大的值放在右侧,即:[6, 13, 22, 11, 99,]
...

li = [13, 22, 6, 99, 11]

for m in range(len(li)-1):

    for n in range(m+1, len(li)):
        if li[m]> li[n]:
            temp = li[n]
            li[n] = li[m]
            li[m] = temp

print li

 


lambda表达式

上学标准运算时,对于简易的 if else 语句,可以选拔雅士利运算来表示,即:

# 普通条件语句
if 1 == 1:
    name = 'wupeiqi'
else:
    name = 'alex'

# 三元运算
name = 'wupeiqi' if 1 == 1 else 'alex'

对此简易的函数,也设有一种便利的意味方法,即:lambda表达式

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'EchoRep'

def func1(arg):
    return arg + 1
func2 = lambda a: a+1
func3 = lambda a,b: a+b




def lambdax():
    result = func1(100)
    print result
    result2 = func2(1000)
    print result2
    result3 = func3(100,211)
    print result3






#定义一个主函数
def main():
    lambdax()
    pass


#限制程序入口
if __name__ == "__main__":
    main()

lambda存在意义正是对简易函数的简短表示

 

让-皮埃尔-马瑞勒

2016.1.30

函数

代码块,按功用区划,

函数式编程和面向进程编制程序的差距:

  • 函数式:将某效用代码封装到函数中,日后便无需重新编写,仅调用函数就能够
  • 面向对象:对函数进行分拣和包装,让开采“越来越快更加好越来越强…”

函数的定义重要有如下要点:

  • def:表示函数的基本点字
  • 函数名:函数的称谓,日后依据函数名调用函数
  • 函数体:函数中实行壹多种的逻辑计算,如:发送邮件、计算出
    [11,22,38,888,2]中的最大数等…
  • 参数:为函数体提供数据
  • 让-Pierre-马瑞勒。重临值:当函数执行完成后,可以给调用者重返数据。

 

map

遍历连串,对队列中种种成分进行操作,最后赢得新的类别

新葡萄京娱乐场网址 2

li = [11, 22, 33]

new_list = map(lambda a: a + 100, li)

li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a, b: a + b, li, sl)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'EchoRep'

def func1(args):
    return args ** 128

#定义一个主函数
def main():
    li =[2,3,4]
    l1 = [1,2,3]
    l2 = [2,3,4]
    l3 = [3,4,5]
    print map(lambda a,b,c:a+b+c,l1,l2,l3)
    pass


#限制程序入口
if __name__ == "__main__":
    main()

 

 

 

英文名:

2016.2.14

– 内置函数新葡萄京娱乐场网址 3

  • vars() == 当前模块的有所变量

__doc__ 注释本文件
__name__ 本文件名,如是当前执行文件,内容是__main__
__file__ 文件路径
  • all() 只要有空,再次回到False
  • any() 只要有三个是真,再次回到True
  • reload() 重新加载引用文件

 

 

filter

对此系列中的成分实行筛选,最后收获符合条件的行列

 

 

新葡萄京娱乐场网址 4

 

li = [11, 22, 33]

new_list = filter(lambda arg: arg > 22, li)

#filter第一个参数为空,将获取原来序列

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'EchoRep'


li = [11,22,33,44]

#定义一个主函数
def main():
    print filter(lambda a:a>33,li)
    pass


#限制程序入口
if __name__ == "__main__":
    main()

Jean-Pierre Marielle

2016.4.30

– 自定义函数

 

  • ### def定义函数的主要字

  • ### 函数名

  • ### 函数宣称

  • ### 函数参数

 

性别:

2016.6.20?

花样参数,形参

reduce

用以累计操作,如累加,累乘等

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'EchoRep'


li = [1,2,3,4,5,6,7,8,9]
#定义一个主函数
def main():
    print reduce(lambda arg1,arg2:arg1*arg2,li)


#限制程序入口
if __name__ == "__main__":
    main()

2016.6.23?

实际参数,实参

yield

一时跳出了函数,但是下次得以接二连三运用,和continue要区分开

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'EchoRep'

def func1():
    yield 1
    yield 2
    yield 3

def mrange(arg):
    seed = 0
    while True:
        seed = seed + 1
        if seed > arg:
            return
        else:
            yield seed



#定义一个主函数
def main():
    for i in mrange(10):
        print i


#限制程序入口
if __name__ == "__main__":
    main()

第二十五日,20一五-1壹-壹伍 冒泡算法
供给:给定2个列表 [13,22,6,99,11]
通进程序落成让他们能够从小到大排序。 思路:让左近的三个数互比…

民族:

2016.7.11

动态参数

def func(*args):
    print args


li = [11,22,33,444,332,112]
func(*li)

动态参数要调用字典的时候,须要动用**

def func(**args):
    print args

dic = {"echo":123,"rep":234}
func(**dic)

 

 

身高:

2016.9.30

默许参数

不传使用暗许值

 

  • ### 函数重返值

def email(arg):
    print arg


if __name__ == "__main__":
    cpu = 100
    ram = 50
    disk = 500
    for i in range(1):
        if cpu > 90:
            alert = "cpu 出现问题"
            email(alert)
        if disk > 90:
            alert = "disk 出现问题"
            email(alert)
        if ram > 80:
            alert = "内存 出现问题"
            email(alert)

生日:

2016.10.7-8?

 

1932-04-12

2016.11.03

– 导入函数


体重:

2016.11.11

文件操作

obj = open("index.txt","r")

obj.seek(10)
#定位指针

print obj.tell()
#输出指针位置

print obj.read()
#输出内容

print obj.tell()

#输出指针位置

r 读
w 写
a 追加
&+
r+ 读写
w+ 类w
a+ 类a

 

开垦文件的格局有:

  • r,只读形式(暗许)。
  • w,只写方式。【不可读;不存在则开创;存在则删除内容;】
  • a,追加方式。【可读;   不存在则开创;存在则只扩大内容;】

“+” 表示能够而且读写有个别文件

  • r+,可读写文件。【可读;可写;可扩展】
  • w+,无意义
  • a+,同a

“U”表示在读取时,能够将 \r \n \r\n自动转换到 \n (与 r 或 r+
情势同使用)

  • rU
  • r+U

“b”表示处理贰进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab

第三天,2015-11-08 计算器: numx = “3
* 5 /-2 -(8*3/(20+3/2-5) + 4 /(3-2) * -三 ) ” 有如下值集合
[11,22,33,44,55,66,77,88,99,90…],将有着大于 6六 的值…

生肖:

2017.1.28

2017.1.29

国籍:

2017.2.1

法国

2017.2.23-25

星座:

2017.2.29-2017.4.1

白羊座

2017.4.1

出生地:

2017.4.14

血型:

2017.4.21-4.24

职 业:

2017.5.3

演员

2017.5.5

毕业学院和学校:

2017.5.7

所属集团:

2017.5.8-2017.7.17

代表小说:

Your Comments

近期评论

    功能


    网站地图xml地图