Python 用于游戏开始的类选择器

Python 用于游戏开始的类选择器,python,Python,为什么它不起作用 这是一个简单的选择代码,可以让你选择一个字符 随机输入 def Number(): print ("1:Warrior") print ("2:Ninja") print ("3:Wizard") print ("4:Terrorist") print ("5:Sniper") print () ClassNo = input("Pick you class:\n") return ClassNo def Cla

为什么它不起作用

这是一个简单的选择代码,可以让你选择一个字符

随机输入

def Number():
    print ("1:Warrior")
    print ("2:Ninja")
    print ("3:Wizard")
    print ("4:Terrorist")
    print ("5:Sniper")
    print ()
    ClassNo = input("Pick you class:\n")
    return ClassNo

def Class(ClassNo):
    Class = ""
    if ClassNo == 1:
        Class = "Warrior"
        print ("you picked" ,Class)
    elif ClassNo == 2:
        Class = "Ninja"
        print ("you picked Ninja")
    elif ClassNo == 3:
        Class = "Wizard"
        print ("you picked" ,Class)
    elif ClassNo == 4:
        Class = "Terrorist"
        print ("you picked" ,Class)
    elif ClassNo == 5:
        Class = "Sniper"
        print ("you picked" ,Class)
    return Class

Number()
Class(ClassNo)
print (Class)
它一直在说ClassNo inst被定义了,但当我定义它时,就会出现错误
plz help

您需要捕获
Number
函数的返回值,即:

classNo = Number();
playerClass = Class(classNo)
print playerClass
其他几点建议。按照惯例,变量名和函数名使用小写或camelCase,类名使用大写字母。此外,如果您连续使用大量的
elif
,您可能需要一本词典。以下是一个例子:

possibleClasses = {1:"Warrior",
                   2:"Ninja",
                   3:"Wizard",
                   4:"Terrorist",
                   5:"Sniper"}

def pickClass():
    for number, playerClass in possibleClasses.items():
        print number, ":", playerClass
    classNo = raw_input("Pick you class:\n")
    classNo = int(classNo)
    return classNo

playerClass = pickClass()
className = possibleClasses[playerClass]
print className

您需要捕获
Number
函数的返回值,即:

classNo = Number();
playerClass = Class(classNo)
print playerClass
其他几点建议。按照惯例,变量名和函数名使用小写或camelCase,类名使用大写字母。此外,如果您连续使用大量的
elif
,您可能需要一本词典。以下是一个例子:

possibleClasses = {1:"Warrior",
                   2:"Ninja",
                   3:"Wizard",
                   4:"Terrorist",
                   5:"Sniper"}

def pickClass():
    for number, playerClass in possibleClasses.items():
        print number, ":", playerClass
    classNo = raw_input("Pick you class:\n")
    classNo = int(classNo)
    return classNo

playerClass = pickClass()
className = possibleClasses[playerClass]
print className

我在这里的第一个评论是,我对python也很在行,但我相信您仅有的输入是在单个函数中,因此当您离开该函数时,该输入将被丢弃

您应该在函数外部提示输入类,以便在代码中全局使用它


如果我错了,我会很高兴有人打我的头…

我在这里的第一个评论,我对python也很在行,但我相信你唯一的输入是在一个函数中,因此当你离开该函数时,输入会被丢弃

您应该在函数外部提示输入类,以便在代码中全局使用它


如果我错了,我会很高兴有人打我的头…

对变量和函数名重用“类”这样的内置名称是一个非常糟糕的主意。对变量和函数名重用“类”这样的内置名称是一个非常糟糕的主意。