简单的功能组合类不起作用(缺少2个必需的位置参数)
我目前正在研究数学,并试图构建一个简单的功能组成制造商
https://en.wikipedia.org /wiki/function_composition
我想告诉程序:
查看两个元组并比较它们:
tuple_1 = (2,4)
tuple_2 = (5,2)
do tuple_2 [1]
and tuple_1 [0] [0]
具有相同的价值? (两个= 2
)
如果是:
返回tuple(tuple_2 [0])
和tuple_1 [1]
5 4
我的功能工作:
list_of_tuples_1 = [
(2,4),
(2,5)
]
list_of_tuples_2 = [
(1,2),
(5,2)
]
def give_function_composition(list_1, list_2):
for tuples_2 in list_2:
for tuples_1 in list_1:
if tuples_2[1] == tuples_1[0]:
return(str(tuples_2[0]) + " " + str(tuples_1[1]))
print(give_function_composition(list_of_tuples_1, list_of_tuples_2))
我的类不:
class Function_Composition():
def __init__(self, list_1, list_2):
self.list_1 = list_1
self.list_2 = list_2
def give_function_composition(self, list_1, list_2):
for tuples_2 in list_2:
for tuples_1 in list_1:
if tuples_2[1] == tuples_1[0]:
return(str(tuples_2[0]) + " " + str(tuples_1[1]))
my_set_1 = Function_Composition([(3,5),(1,5),(5,4)],
[(5,7),(3,6),(1,8)])
print(my_set_1.give_function_composition())
TypeError: give_function_composition() missing 2 required positional arguments: 'list_1' and 'list_2'
这里有什么问题?我给了他两个清单,不是吗?
I am digging into math currently and tried to build a simple function composition maker
https://en.wikipedia.org/wiki/Function_composition
I want to tell the program:
Look at two tuples and compare them:
tuple_1 = (2,4)
tuple_2 = (5,2)
Do tuple_2[1]
and tuple_1[0]
have the same value? (both = 2
)
If yes:
Return tuple(tuple_2[0])
and tuple_1[1]
5 4
My function works:
list_of_tuples_1 = [
(2,4),
(2,5)
]
list_of_tuples_2 = [
(1,2),
(5,2)
]
def give_function_composition(list_1, list_2):
for tuples_2 in list_2:
for tuples_1 in list_1:
if tuples_2[1] == tuples_1[0]:
return(str(tuples_2[0]) + " " + str(tuples_1[1]))
print(give_function_composition(list_of_tuples_1, list_of_tuples_2))
My class does not:
class Function_Composition():
def __init__(self, list_1, list_2):
self.list_1 = list_1
self.list_2 = list_2
def give_function_composition(self, list_1, list_2):
for tuples_2 in list_2:
for tuples_1 in list_1:
if tuples_2[1] == tuples_1[0]:
return(str(tuples_2[0]) + " " + str(tuples_1[1]))
my_set_1 = Function_Composition([(3,5),(1,5),(5,4)],
[(5,7),(3,6),(1,8)])
print(my_set_1.give_function_composition())
TypeError: give_function_composition() missing 2 required positional arguments: 'list_1' and 'list_2'
What is the issue here? I gave him two lists, didn't I?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该参考传递到构造函数的实例数据,而不是两次传递在同一列表中:
此输出:
You should refer to the instance data passed into the constructor, rather than passing in the same list twice:
This outputs: