1
我試圖用字典與函數的值,但無法使用功能從字典
NameError: name 'oak' is not defined
停止投放任何事情之前執行。
這與調度類:
from hab_oak import Oak
from pokemon import Pokemon
from hab_brock import GimnasioBrock
class Juego(object):
habs = {
'Oak' : oak
}
def __init__(self):
oak = Oak()
maproom, pok = oak.execution()
self.Pokemon = pok
dispatcher(Juego.habs.get(maproom), self.Pokemon)
def dispatcher(command, arg):
send(habs[command](arg))
def oak(self, pokemon):
GimnasioBrock(pokemon)
我敢肯定,這下一堂課橡樹是不是一個給人錯誤,但它在JUEGO被實例化的一個。 初始化
from sys import exit
from random import randint
from pokemon import Pokemon
from hab_brock import GimnasioBrock
class Oak(object):
def execution(self):
print "Bienvenido, soy Oak. Elige un pokemon."
print "Puedes elegir Charmander, Squirtle o Bulbasaur:"
pokemon_elegido = raw_input("> ")
if (pokemon_elegido == "Charmander"):
pokemon = Pokemon("Charmander", 20, 5)
elif (pokemon_elegido == "Bulbasaur"):
pokemon = Pokemon("Bulbasaur", 20, 5)
elif(pokemon_elegido == "Squirtle"):
pokemon = Pokemon("Squirtle", 20, 5)
print "Te enfrentaras a Brock."
return "Oak", pokemon
你正在使用字典作爲[類變量,而不是實例變量](https://docs.python.org/2/tutorial/classes.html#class-and-instance-variables),所以'橡木'評估時未定義。 –
在這個程序 – mauve
'NameError'中有「橡樹」和「橡樹」,這很讓人困惑, –