为什么它不起作用。
它是一个简单的选择代码,可让您选择一个字符
导入随机
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定义但是当我定义它时出现并且错误 请帮忙
答案 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中也很漂亮,但我相信你所拥有的唯一输入是在一个函数内,因此当你离开这个函数时,该输入就会被丢弃。
您应该在函数外部提示输入类,以便可以在代码中全局使用。
如果我错了,我会很高兴有人打扰我......