python 小记

判断一个数是奇数还是偶数

#!/usr/bin/env python3
#_*_coding:UTF-8_*_
def pan(num):
    if num % 2 ==0:
      print( str(num) + ' is: 偶数')
    else:
      print( str(num) + ' is:  奇数')

pan(3)
pan(4)


一句话打印九九乘法表

#coding:utf-8
print('\n'.join([' '.join('%sx%s=%-2s'%(x,y,x*y) for x in range(1,y+1)) for y in range(1,10)]))

 经典排序之快速排序实现

#!/usr/bin/python3
#_*_coding:UTF-8_*_
def quicksort(L):
    qsort(L,0,len(L)-1)
    
def qsort(L,first,last):
    if first<last:
       split=partition(L,first,last)
       qsort(L,first,split - 1)
       qsort(L,split + 1,last)
       
def partition(L,first,last):
     #选取类表中的第一个元素作为划分元素
    pivot=L[first]
    leftmark=first+1
    rightmark=last
    while True:
      while L[leftmark]<=pivot:
      #如果列表中存在与划分元素pivot相等的元素,就让它位于left部分
      #以下检测用于划分元素pivot是列表中最大元素时
      #防止leftMark越界
       if leftmark==rightmark:
          break
       leftmark+=1
      while L[rightmark]>pivot:
          #这里不需要检测,划分元素pivot是列表中最小的元素时
          #rightMark自动停在first处
          rightmark-=1
      if leftmark < rightmark:
          #此时,leftMark处的元素大于pivot
          #rightMark处的元素小于等于pivot,交换两者
          L[leftmark],L[rightmark]=L[rightmark],L[leftmark]
      else:
          break
    #交换first处的划分元素与rightMark处的元素
    L[first],L[rightmark]=L[rightmark],L[first]
    #返回划分元素pivot的最终位置
    return rightmark
    
num_list=[5,-4,6,3,7,1,2,8]
print('排序之前:'+str(num_list))
quicksort(num_list)
print('排序之后:'+str(num_list))
运行结果:
排序之前:[5, -4, 6, 3, 7, 1, 2, 8]
排序之后:[-4, 1, 2, 3, 5, 6, 7, 8]

递归操作:

#!/usr/bin/python3
#_*_coding:UTF-8_*_
def  fact(n)
    if n==1:
       return 1
    return n*fact(n-1)

fact(5)

匿名块

q = list(filter(lambda x:x%2 == 0, range(1,10)))
[2, 4, 6, 8]

 

写日志

import logging
def logger_set():
     logger=logging.getLogger('mylog')
     logger.setLevel(logging.DEBUG)
     path='/home/python/tmp/test/test.log'
     fh=logging.FileHandler(path)
     fh.setLevel(logging.info)
     ch=logging.StreamHandler()
     ch.setLevel(logging.error)
     formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s-%(message)s')
     fh.setFormatter(formatter)
     ch.setFormatter(formatter)
     logger.addHandler(fh)
     logger.addHandler(ch)
     return logger
lg=logger_set()
lg.info('hello world')

 

posted @ 2018-10-13 15:48  醉城、  阅读(193)  评论(0编辑  收藏  举报