python - 是否有任何选项可以创建使用可变数量参数的函数?
问题描述
所以我尝试创建可以生成序列后续单词的函数。
例如:
我有这样的功能:
def next_even(a):
return a + 2
我必须像这样构建生成器:
def seq_gen(fun,*args):
counter = 0
x=args[counter]
while(True):
yield x
x = fun(x)
#x=1,y=1
#x=1,y=2
#x=2,y=3
g = seq_gen(next_even,0);
当我使用print(next(g))
它会返回:
0;
2;
4;
6;
...
但是我尝试创建sen_gen()
可以与其他功能一起使用的功能。例如斐波那契:
def next_fib(a,b):
return a+b
def seq_gen(fun,*args):
counter = 0
x=args[counter]
y=args[counter+1]
while(True):
yield x
x, y = y, fun(x,y)
#x=1,y=1
#x=1,y=2
#x=2,y=3
g = seq_gen(next_fib,0,1);
当我使用print(next(g))
它会返回:
0;
1;
1;
2;
3;
5;
......
我应该使用什么来创建sen_gen()
可以与可变类型函数一起使用的唯一性?
解决方案
推荐阅读
- visual-studio-code - vscode中如何配置文件输出
- c - 在 Vim 插入模式下按 Tab 键后得到的选项卡数
- javascript - 如何在真实的 Android 设备中测试 JavaScript Web 应用程序?
- php - Asterisk AMI 返回不正确的数据
- nativescript - NativeScript Firebase 已初始化
- javascript - jquery datatable:获取选中的复选框行
- python - 在使用 buildheap 时尝试 HeapSort
- python-3.7 - 默认角色 - Discord.py 重写
- python - “合并”具有不同列的数据框
- parsing - 解释为控制字符的日文字符