Я уверен, что для этого есть простое объяснение (помимо того, что я новичок в Python), но, допустим, у меня есть два файла в том же каталоге. Один этот маленький скрипт в файле с именем lexicon.py
, который проверяет ввод данных пользователем:ValuError с использованием функции импорта в классе
def string_checker3(action):
try:
check = isinstance(action, basestring)
if check:
return True
else:
raise ValueError
except ValueError:
print "We need a string here!"
return None
def Chipcar_testgreeting(action):
action_split = action.split()
for i in action_split:
strcheck = string_checker3(action)
if strcheck == None:
StartGame
else:
pass
Другой сценарий, мой основной сценарий, называется newGame.py
и имеет класс, как это, в течение которого я хотел бы вызвать функцию Chipcar_testgreeting(action)
,
from lexicon import *
class ChipCar(Scene):
def enter(self):
print "What's up mothafucka! Get in the Bran Muffin car!"
action = raw_input("> ")
user_test = lexicon.Chipcar_testgreeting(action)
user_test
if(action == "shut up chip" or action == "oh no, it's chip"):
print "forget you!"
print action
return next_scene('Your_death')
#return 'Death'
elif(action == "hi chip" or action == "hello chip"):
print "What's up?!?! Let's go to O&A..."
return next_scene('Chip_in_studio')
else:
print "what's wrong with ya are ya stupid or sumptin? Let's go to my mudda's house, I think Lamar's there..."
return next_scene('Chip_mom_house')
FirstScene = ChipCar()
StartGame = FirstScene.enter()
Однако, я получаю эту ошибку прямо сейчас:
user_test = lexicon.Chipcar_testgreeting(action)
NameError: global name 'lexicon' is not defined
Что я делаю неправильно?
Вы не импортировали 'лексикон'. Я думаю, что у вас есть идея импорта назад. Если вы хотите использовать 'lexicon' в' newGame', вам нужно импортировать 'lexicon' в' newGame', а не наоборот. В вашем коде также есть другие ошибки, поэтому вы, вероятно, должны прочитать [учебник Python] (https://docs.python.org/tutorial). – BrenBarn
@BrenBarn только что оставил импорт из поста, исправленный сейчас. Определенно запускается скрипт с правильным импортом и получением ошибки, как опубликовано. – SeanJarp