当前位置: 首页 > news >正文

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

 

转载于:https://www.cnblogs.com/jackma86/p/5131407.html

相关文章:

  • 腾讯下一个重点:硬件;硬件自身的未来也正进入多元化发展
  • REST架构的思考
  • python的统一编码规范
  • c# 反射
  • 使用AutoCompleteTextView和AsyncTask 检索城市
  • python之路(二)函数
  • Linux下设置定期执行脚本
  • Linux下安装配置MongoDB数据库
  • Zabbix服务器端安装过程(含centos 7.1安装 zabbix3.0.8的故障排除)
  • 数学之路-python计算实战(2)-初遇pypy
  • linux --vsftpd虚拟用户登录时 530 Login incorrect排错
  • 昨天要成为反弹一日游?关键看下午了
  • Microsoft Azure Linux 多网卡配置
  • 细数JDK里的设计模式转
  • 如何在 Tornado 中实现 Middleware
  • 自己简单写的 事件订阅机制
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • CentOS6 编译安装 redis-3.2.3
  • CentOS从零开始部署Nodejs项目
  • Computed property XXX was assigned to but it has no setter
  • ECS应用管理最佳实践
  • gf框架之分页模块(五) - 自定义分页
  • idea + plantuml 画流程图
  • input实现文字超出省略号功能
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • java正则表式的使用
  • JS学习笔记——闭包
  • magento2项目上线注意事项
  • Redis 懒删除(lazy free)简史
  • Spring Cloud Feign的两种使用姿势
  • Vue2 SSR 的优化之旅
  • vue中实现单选
  • 爱情 北京女病人
  • 高程读书笔记 第六章 面向对象程序设计
  • 给第三方使用接口的 URL 签名实现
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • HanLP分词命名实体提取详解
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (LeetCode) T14. Longest Common Prefix
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (一一四)第九章编程练习
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)nsfocus-绿盟科技笔试题目
  • .apk 成为历史!