简单的功能组合类不起作用(缺少2个必需的位置参数)

发布于 2025-01-25 21:01:02 字数 1748 浏览 2 评论 0原文

我目前正在研究数学,并试图构建一个简单的功能组成制造商

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌伤浅笑 2025-02-01 21:01:02

您应该参考传递到构造函数的实例数据,而不是两次传递在同一列表中:

class Function_Composition():
    def __init__(self, list_1, list_2):
        self.list_of_tuples_01 = list_1
        self.list_of_tuples_02 = list_2
        
    def give_function_composition(self):
        for tuples_2 in self.list_of_tuples_02:
            for tuples_1 in self.list_of_tuples_01:
                if tuples_2[1] == tuples_1[0]:
                    return(str(tuples_2[0]) + " " + str(tuples_1[1]))
        return "No relation found."

                
my_set_1 = Function_Composition([(3,5),(1,5),(5,4)],
                                 [(5,7),(3,6),(1,8)])

print(my_set_1.give_function_composition())

此输出:

No relation found.

You should refer to the instance data passed into the constructor, rather than passing in the same list twice:

class Function_Composition():
    def __init__(self, list_1, list_2):
        self.list_of_tuples_01 = list_1
        self.list_of_tuples_02 = list_2
        
    def give_function_composition(self):
        for tuples_2 in self.list_of_tuples_02:
            for tuples_1 in self.list_of_tuples_01:
                if tuples_2[1] == tuples_1[0]:
                    return(str(tuples_2[0]) + " " + str(tuples_1[1]))
        return "No relation found."

                
my_set_1 = Function_Composition([(3,5),(1,5),(5,4)],
                                 [(5,7),(3,6),(1,8)])

print(my_set_1.give_function_composition())

This outputs:

No relation found.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文