首页 > 解决方案 > 无法在 python 类中调用函数

问题描述

正如标题所说,我无法在课堂上调用该函数。这是代码:


    def __init__(self, minimum, maximum, dobra_liczba):
        self.minimum = minimum
        self.maximum = maximum
        self.dobra_liczba = dobra_liczba

    def sprawdz_liczbe_int(self, liczba):
        print("sprawdzam liczbe")
        if isinstance(liczba, int) and self.minimum <= liczba <= self.maximum:

            return True
        else:
            return False

    def czy_liczba_trafiona(self, liczba):
        if liczba == self.dobra_liczba:
            print("trafiłeś!")
        else:
            print("pudło!")

    def graj(self):
        x = int(input("wpisz liczbe od "+str(self.minimum)+" do "+str(self.maximum)+": "))
        print(x)
        if self.sprawdz_liczbe_int(x) == True:
            self.czy_liczba_trafiona(x)

a1 = Gra(0, 100, 50)
a1.graj()

如果有帮助,我可以将代码翻译成英文。

这是猜数字游戏。

编辑:我更改了代码。

标签: pythonpython-3.xfunctionclasscall

解决方案


您在调用函数时错误地将“self”作为参数传递。

错误的:

sprawdz_liczbe_int(self.input("wpisz liczbe od"+str(self.minimum)+" do "+str(self.maximum)+”:")

更正:

sprawdz_liczbe_int(input("wpisz liczbe od"+str(self.minimum)+" do "str(self.maximum)+":") 

“self”关键字的主要工作是访问python中类的属性和方法。

更清楚地说,“自我”始终指向您当前所在的对象。


推荐阅读