zoukankan      html  css  js  c++  java
  • Python Function Note

    Python Function Note

    1 #汉诺塔问题Python实现
    2 def my_move(n, a, b, c):
    3   if n == 1:
    4     print(a + ' --> ' + c)
    5   else:
    6     my_move(n-1, a, c, b)#将前n-1个盘子从a放到b
    7     my_move(1, a, b, c)#将最下面的盘子从a放到c
    8     my_move(n-1, b, a, c)#将b上的n-1个盘子放到c上
    9   return
    1 #杨辉三角Python实现
    2 def my_triangles(max):
    3   i = 1
    4   now = [1]
    5   while i <= max:
    6     yield now#保存当前list
    7     now = [1] + [now[n]+now[n+1] for n in range(len(now)-1)] + [1]#构建下层list
    8     i+=1
    9   print('done')
     1 #实现将‘123.456’转换成123.456,即函数float的实现
     2 def my_float(s):
     3   def my_front(x, y):
     4     return x*10+y
     5   def my_behind(x, y):
     6     return x*0.1+y
     7 
     8   front = s.split('.')[0]
     9   behind = s.split('.')[1]
    10   return reduce(my_front, map(int, front)) + 0.1*reduce(my_behind, map(int, behind))
     1 #利用埃氏筛法筛选出素数
     2 #产生无限的奇数
     3 def my_productNumber():
     4   n = 1
     5   while 1:
     6     n += 2
     7     yield n
     8 
     9 #返回判断是否是素数的函数
    10 def my_isPrime(n):
    11     return lambda x: x % n > 0
    12 
    13 #素数发生器
    14 def my_Primes():
    15   yield 2
    16   it = my_productNumber()
    17   while 1:
    18     n = next(it)
    19     yield n
    20     it = filter(my_isPrime(n), it)
    21 
    22 for n in my_Primes():
    23   if n < 100:
    24     print(n)
    25   else:
    26     break
    1 #判断一个数是否回文
    2 def my_isPalindrome(n):
    3   return str(n)[::-1] == str(n)
    4 print(filter(my_isPalindrome, range(1, 1000)))
     1 #关于装饰器
     2 import functools
     3 
     4 def log(text=None):
     5   def decorator(func):
     6     @functools.wraps(func)
     7     def wrapper(*args, **kw):
     8       if text == None:
     9         # print('call %s()' % func.__name__)
    10         pass
    11       else:
    12         # print('%s %s()' % (text, func.__name__))
    13         pass
    14       print('Begin Func↓')
    15       temp = func(*args, **kw)
    16       print('End Func↑')
    17       return temp
    18     return wrapper
    19   return decorator
    20 
    21 @log('call')  #相当于now = log('hahaha')(now)
    22 def now(t):
    23   print("2015")
    24   return t
    25 now(4)
    26 print(now.__name__)
  • 相关阅读:
    旧文备份:利用一个定时器实现多个虚拟定时器的两种方法
    TypeScript type 类型别名
    TypeScript 模块系统
    github----awesome-typescript-projects
    synchronous-request-with-websockets
    async await promise
    Sharing Configuration in ASP.NET Core SPA Scenarios
    Unicode String to a UTF-8 TypedArray Buffer in JavaScript
    MVC 访问静态页面 View 下面放JS
    Processing Binary Protocols with Client-Side JavaScript
  • 原文地址:https://www.cnblogs.com/jackma86/p/5131407.html
Copyright © 2011-2022 走看看