Can';无法让Python类代码正常工作
我是Python新手。无论如何,我想做一个21个问题的游戏,但是我的代码不起作用 错误是:Can';无法让Python类代码正常工作,python,Python,我是Python新手。无论如何,我想做一个21个问题的游戏,但是我的代码不起作用 错误是:未定义名称“plux”。 代码如下: from random import randint class Game(object): num = randint(1, 3) def plux(x): x += 1 return x def minu(x): x -= 1 def iff(i): apple =
未定义名称“plux”。
代码如下:
from random import randint
class Game(object):
num = randint(1, 3)
def plux(x):
x += 1
return x
def minu(x):
x -= 1
def iff(i):
apple = 0
num = randint(1, 3)
if num == 1:
x = input('Can you eat it? ').lower()
if x == "yes" or "yeah":
print("test num 1")
apple = plux(apple)
elif num == 2:
print('test num 2')
elif num == 3:
print("test num 3")
a = Game()
print(a.iff())
在调用行
apple=plux(apple)
中的函数plux
时,在函数调用前添加一个self.
。在Python中,self.
用作类范围内使用的对象本身的引用(游戏
类中的任何位置)。在类的每个函数中,self
必须是第一个参数(我不知道为什么必须这样做,我相信这是有原因的,但请仔细遵循这个约定)。当您调用apple=plux(apple)
行中的函数plux
时,在函数调用前面添加一个self.
。在Python中,self.
用作类范围内使用的对象本身的引用(游戏
类中的任何位置)。在类的每个函数中,self
必须是第一个参数(我不知道为什么必须这样做,我相信这是有原因的,但请仔细遵循此约定)。类应该是这样的(缺少self):
该类应如下所示(缺少自我):
每个函数的开头都应该有一个额外的
self
参数,每个函数调用之前都应该添加self.
。这是因为它们实际上是类的方法,而不是全局函数。@zondo使用的是u init_u()?你觉得你可以举个例子吗?从@zondo的评论来看,你的代码应该是这样的@danidee哦,非常感谢!每个函数的开头都应该有一个额外的self
参数,每个函数调用之前都应该添加self.
。这是因为它们实际上是类的方法,而不是全局函数。@zondo使用的是u init_u()?你觉得你可以举个例子吗?从@zondo的评论来看,你的代码应该是这样的@danidee哦,非常感谢!谢谢!:)非常有用谢谢!:)很有帮助
from random import randint
class Game(object):
def __init__(self):
self.num = randint(1, 3)
self.x=0
def plux(self):
self.x += 1
def minu(self):
self.x -= 1
def iff(self):
apple = 0
self.num = randint(1, 3)
if self.num == 1:
x = raw_input('Can you eat it? ').lower()
if x == "yes" or "yeah":
print("test num 1")
apple = self.plux()
elif self.num == 2:
print('test num 2')
elif self.num == 3:
print("test num 3")
a = Game()
a.iff()