用于游戏开始的类选择器

时间:2016-03-09 21:53:53

标签: 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定义但是当我定义它时出现并且错误 请帮忙

2 个答案:

答案 0 :(得分:2)

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

classNo = Number();
playerClass = Class(classNo)
print playerClass

其他一些指示。按照惯例,我们对变量和函数名称使用lower_case或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

答案 1 :(得分:0)

我在这里发表的第一条评论,我在python中也很漂亮,但我相信你所拥有的唯一输入是在一个函数内,因此当你离开这个函数时,该输入就会被丢弃。

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

如果我错了,我会很高兴有人打扰我......