递归,yield,参数槽
#1、
records = [('f',1,2,4),('k',3,4,5),('z','e','d')]for key,value,*val in records:
#可迭代对象,解构if key == 'f':f(val)print('val:{0},{1}'.format(*val))print('key:{0},value:{1}'.format(key,value))
#2、参数槽
#以*分隔,{非命名参数,命名参数}
#不可使用可变位置参数
#可变关键字参数必须在命名参数之后
def func(a,b,c=3,*,f=5,k=3,j,**kw):print(a)print(b)print(c)print(f)print(k)print(j)print(kw) func(9,4,f=4,j=7,s=8)9
4
3
4
3
7
{'s': 8}
#3、递归
lst = []
#十进制转换二进制
def to_binary(n):r = n % 2if n >= 2:to_binary(n/2)lst.append(int(r))to_binary(10)print(lst)[1, 0, 1, 0]
#4、生成器(斐波那契数列)
def fib():a,b = 0,1while True:a,b = b,a+b# 解包,封包yield bgen=fib()
def func(x):for i in range(x):print(next(gen))
5、斐波那契数列:
def fab(n):
#(1)a = 1b = 1for i in range(n):print(a)a,b = b,a+b def fab():
#(2)a = 1b = 1while True:yield aa,b = b,a+bgen = fab()
for i in range(10):print(next(gen)) def fab(n):
#(3)if n == 1 or n == 0:return 1return fab(n-1)+fab(n-2)
转载于:https://blog.51cto.com/calily/1829393
递归,yield,参数槽相关推荐
- 关于Scala递归返回参数的问题
Scala的递归返回参数要自己写,因为他看最后一行代码可能陷进死循环里,退出条件不在一行,所以返回类型要自己确定 转载于:https://www.cnblogs.com/sunpengblog/p/1 ...
- php递归操作目录 递归对参数转义
header("Content-type:text/html;charset=utf-8"); //递归读取目录 function reddir($path,$level=0) { ...
- 49 - 算法 - Leetcode 112 路径总和 -二叉树递归 带参数一起递归
// 感觉都是那几个固定的格式 寻找临时 单前树 状态输入减小 int sum递减 //树递归 所带的参数也递归减少class Solution {public:bool hasPathSum(Tre ...
- lambda qt 参数 槽函数_C++中的lambda表达式用法
#include <QCoreApplication> #include <QDebug> int main(int argc, char *argv[]) {QCoreApp ...
- Qt 自定义信号与槽
注 对象与槽理解 //第一个参数lineEdit是激发事件对象,信号中的方法必须在对象中存在,并在对象类头文件signals下定义,//第二个参数信号,//第三个参数this是槽方法所属类的对象,且必 ...
- 二叉树-二叉树的最大深度(递归 )
题意: 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15 ...
- PyQt GUI--信号与槽
目录 目录 前言 系统软件 GUI的主循环 信号与槽 信号的应用 使用控件类的内建信号 自定义信号 带参数的信号 槽的应用 创建槽 信号和槽的连接 最后 前言 PyQt中的信号和槽,就是一个触发和执行 ...
- 写给小白看的硬核递归(低调点,当回小白)
本文首发公众号[bigsai] ,首发博客平台csdn,转载请找授权或附上原文链接. 大家好,我是bigsai,今天给大家讲讲递归.内容很丰富,看完感觉不错还请三连支持幸苦码字! 什么是递归? 递归: ...
- 计算机算法设计与分析之----- 递归与分治策略
递归与分治策略 [Master定理] 快速排序 优化 逆序对(归并算法) 火柴排队[NOIP2013 提高组] 集合求和 方法一: 递归 (2^n ) 方法二: 组合数学知识 [HNOI2008]越狱 ...
- unity update 协程_Unity协程,停止协程及yield return使用_019
public void Start() { //开启协程 Coroutine testCoroutine = StartCoroutine(Test()); //停止指定协程 StopCoroutin ...
最新文章
- 活着不容易!几度被扼杀又雄起的NLP简史
- Android LinearLayout的android:layout_weight属性
- android如何避免内存泄露,Android开发中应该避免的内存泄露
- EditText 自动保留两位小数
- python使用xlrd模块读写excel
- Java死了还是无敌?
- java scanner nextlin_java – Scanner nextLine()偶尔会跳过输入
- XSS,CSRF防范 也是慢慢更
- 系统安全工作笔记001---zigw挖矿病毒_没想到生产环境给整成矿鸡了_安全意识有待提升....
- 10个人做抖音,8个做不起来,为啥?
- 防风网-挡风抑尘墙:挡风抑尘墙
- CCLayer中Touch事件(Standard Touch Delegate Targeted Touch Delegate)
- (原创)c#学习笔记03--变量和表达式03--变量01--简单类型
- 提供2.4G单色、双色、RGB\RGBW\RGBCW调光LED灯方案
- 谷歌地图坐标转换为百度地图坐标
- discuz论坛快速登录、分享帐号一键登录方法
- 村田【元宇宙】要火,但不能“起火”—— 电池:半固态凝胶软包电池篇
- python假期培训班
- Java实习生常规技术面试题每日十题Java基础(八)
- 深夜切题——Doubles