新葡萄京娱乐场

布里吉特

四月 15th, 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

关注 1206

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()

详说修改配置文件的法门

暗中认可配置

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'

对于简易的函数,也存在1种方便人民群众的代表方法,即: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]中的最大数等…
  • 布里吉特。参数:为函数体提供数据
  • 重回值:当函数实行完结后,能够给调用者再次回到数据。

 

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()

Brigitte Bardot

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壹-一五 冒泡算法
需求:给定贰个列表 [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)

173cm

2016.10.7-8?

 

生日:

2016.11.03

– 导入函数


1934-09-28

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处理2进制文件时需标注)

  • 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地图