python - 无法在 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()
如果有帮助,我可以将代码翻译成英文。
这是猜数字游戏。
编辑:我更改了代码。
解决方案
您在调用函数时错误地将“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中类的属性和方法。
更清楚地说,“自我”始终指向您当前所在的对象。
推荐阅读
- performance-testing - NVReportExt.dll:系统异常:EXCEPTION_ACCESS_VIOLATION
- android - 'tools:replace="android:allowBackup"' 到
元素 - javascript - 有没有办法让代码更简单高效?
- android - 为什么当 FAB 在 LinearLayout 时可点击被禁用
- boost - Boost Spirit x3:解析分隔字符串
- apache-spark - 无法从 spark 中的 sse-kms 加密 s3 对象中检索数据
- java - 休眠延迟加载 - 获取列表中的列表项
- ios - 使用 CocoaPod 依赖构建 Cocoa Touch 框架,不要嵌入
- flutter - 如何更改图表的标签颜色
- json - 如何将来自数据库的数据绑定到角度动态表单下拉列表中?