Python Function Note
Python Function Note
#汉诺塔问题Python实现
def my_move(n, a, b, c):
if n == 1:
print(a + ' --> ' + c)
else:
my_move(n-1, a, c, b)#将前n-1个盘子从a放到b
my_move(1, a, b, c)#将最下面的盘子从a放到c
my_move(n-1, b, a, c)#将b上的n-1个盘子放到c上
return
#杨辉三角Python实现
def my_triangles(max):
i = 1
now = [1]
while i <= max:
yield now#保存当前list
now = [1] + [now[n]+now[n+1] for n in range(len(now)-1)] + [1]#构建下层list
i+=1
print('done')
#实现将‘123.456’转换成123.456,即函数float的实现
def my_float(s):
def my_front(x, y):
return x*10+y
def my_behind(x, y):
return x*0.1+y front = s.split('.')[0]
behind = s.split('.')[1]
return reduce(my_front, map(int, front)) + 0.1*reduce(my_behind, map(int, behind))
#利用埃氏筛法筛选出素数
#产生无限的奇数
def my_productNumber():
n = 1
while 1:
n += 2
yield n #返回判断是否是素数的函数
def my_isPrime(n):
return lambda x: x % n > 0 #素数发生器
def my_Primes():
yield 2
it = my_productNumber()
while 1:
n = next(it)
yield n
it = filter(my_isPrime(n), it) for n in my_Primes():
if n < 100:
print(n)
else:
break
#判断一个数是否回文
def my_isPalindrome(n):
return str(n)[::-1] == str(n)
print(filter(my_isPalindrome, range(1, 1000)))
#关于装饰器
import functools def log(text=None):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):
if text == None:
# print('call %s()' % func.__name__)
pass
else:
# print('%s %s()' % (text, func.__name__))
pass
print('Begin Func↓')
temp = func(*args, **kw)
print('End Func↑')
return temp
return wrapper
return decorator @log('call') #相当于now = log('hahaha')(now)
def now(t):
print("")
return t
now(4)
print(now.__name__)
Python Function Note的更多相关文章
- #MySQL for Python(MySQLdb) Note
#MySQL for Python(MySQLdb) Note #切记不要在python中创建表,只做增删改查即可. #步骤:(0)引用库 -->(1)创建连接 -->(2)创建游标 -- ...
- python function parameter
Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "copyright&q ...
- kwargs - Key words arguments in python function
This is a tutorial of how to use *args and **kwargs For defining the default value of arguments that ...
- python Function
Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "copyright&q ...
- elike.python.function()
将python用于基本的科学计算,能完全替代matlab.就最近写的一个物理模型程序来看,用python建立的物理模型的可控性,代码的层次性都优于matlab,只不过python没有matlab那样的 ...
- Python - Learn Note (3)
Python之模块 包就是文件夹:包可以有多级: 模块就是 xxx.py文件:可以创建自己的模块,并且导入它们,模块的名字就和文件的名字相同: Python使用import语句导入一个模块. impo ...
- Python - Learn Note (2)
Python注释 Python的注释以#开头,后面的文字直到行尾都算注释 Python基本数据类型 整数.浮点数(浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置 ...
- Python - learn note(1)
1. 下载安装Python 2.7(为了向下兼容以前的版本), Python 3.5(VS2015不支持配置3.6的环境) 教程 需要使用VS2015进行开发,必须勾选上后面两项: 2. VS2015 ...
- python function with variadic arguments or keywords(dict) 可变参数与关键字参数
*args 表示任意个普通参数,调用的时候自动组装为一个tuple **kwags 表示任意个字典类型参数, 调用的时候自动组装成一个dict args和kwags是两个约定俗成的用法. 变长参数可以 ...
随机推荐
- JavaScript Maintainable
1. Avoid conflict with Native Variable namespace
- 关于javaBean中boolean类型变量的set和get注入后传到前端JS中的问题
set和get方法如下: public boolean isLine() { return isLine; } public void setLine(boolean isLine ...
- 我的VSTO之路(二):VSTO程序基本知识
原文:我的VSTO之路(二):VSTO程序基本知识 开始之前,首先我介绍一下我的开发环境:VS2010 + Office 2010,是基于.Net framework 4.0和VSTO 4.0.以下的 ...
- bzoj3505
ans=C((n+1)*(m+1),3)-三点一线的情况横线竖线我们可以先去掉然后考虑斜线,由于对称性我们只要考虑斜率大于0的即可有一个很显然的结论,但两点坐标差为x,y时,这条线段上的点数为gcd( ...
- WordPress 3.5.1 crypt_private()远程拒绝服务漏洞(CVE-2013-2173)
漏洞版本: WordPress 3.5.1 漏洞描述: BUGTRAQ ID: 60477 CVE(CAN) ID: CVE-2013-2173 WordPress是一种使用PHP语言和MySQL数据 ...
- ♫【jQuery】detach
Jquery empty() remove() detach() 方法的区别 <!DOCTYPE html> <html> <head> <meta char ...
- 动态规划(斜率优化):BZOJ 1010 【HNOI2008】 玩具装箱
玩具装箱toy Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 8218 Solved: 3233[Submit] Description P 教授要去 ...
- Rotation Lock Puzzle
Problem Description Alice was felling into a cave. She found a strange door with a number square mat ...
- Hibernate配置文件中hiberante.hbm2ddl.auto四个参数的配置
我们在搭建环境的时候,在配置文件中有一个属性标签为: <property name="hibernate.hbm2ddl.auto"> </propert ...
- Storm-1.0.1+ZooKeeper-3.4.8+Netty-4.1.3 HA集群安装
Storm-1.0.1+ZooKeeper-3.4.8+Netty-4.1.3 HA集群安装 下载Storm-1.0.1 http://mirrors.tuna.tsinghua.edu.cn/apa ...