我正在做一个冒险游戏,我也检查了玩家是哪一类的,但是游戏没有重新分配角色,所以玩家在被设置为person后仍然是none type
character = None
def start():
characterchosen = False
printslow("Welcome adventurer. Chose wisely.")
sleep(2)
charactername = input("What is your name? ")
print("Characters:")
print("1. Person")
while characterchosen == False:
character = input("Please chose a character: ")
characterchosen = True
if character == "1":
character = person(charactername)
else:
characterchosen = False
print("Invalid Response. Please try again.")
print("Great! Now that you have chosen your class, your mission may begin.")
gameone()
def gameone():
if type(character) == "<class 'person'>":
print("game here")
start()
当我使用print(type(character))时,我得到了<class 'NoneType'>
更新:
我试着将check设置为NoneType,但仍然一无所获,即使函数正在被调用
当您在
start
函数中引用character
变量时,它将赋值给局部作用域(函数作用域)中的一个变量。要让Python知道您指的是在全局范围中定义的character
变量,您必须显式地声明:您还将
type
的结果与该类型的字符串表示形式进行比较。您要做的是直接将其与类型进行比较:或者最好使用
isinstance
内置函数:相关问题 更多 >
编程相关推荐