gam开头的类选择器

2024-06-09 20:41:49 发布

您现在位置: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 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帮助


Tags: younumberreturn定义defclasswizardprint
2条回答

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

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

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

您需要捕获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

相关问题 更多 >