Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中未定义的变量_Python_Variables_Undefined - Fatal编程技术网

Python中未定义的变量

Python中未定义的变量,python,variables,undefined,Python,Variables,Undefined,我知道也有类似的线索,我只是很难理解 我一直收到一个错误,说“Lvl”作为变量未定义。我假设这是因为我需要将一个变量从initstatswarrior()传递给selectclass()。但是,我不确定,因为我已经多年没有使用Python了。任何提示都将不胜感激 Traceback (most recent call last): File "C:\Program Files\Notepad++\rpg\start.py", line 48, in <module>

我知道也有类似的线索,我只是很难理解

我一直收到一个错误,说“Lvl”作为变量未定义。我假设这是因为我需要将一个变量从initstatswarrior()传递给selectclass()。但是,我不确定,因为我已经多年没有使用Python了。任何提示都将不胜感激

Traceback (most recent call last):
    File "C:\Program Files\Notepad++\rpg\start.py", line 48, in <module>
    selectclass()
File "C:\Program Files\Notepad++\rpg\start.py", line 17, in selectclass
    Level 1       """, Lvl, """
NameError: name 'Lvl' is not defined

import os

def cls():
    os.system ("CLS")

def namecharacter():
    cls()
    playername = input("Character Name: ")
    print ("You shall be called", playername, "in the realm.\n")
    input("Press Enter to continue...")

def selectclass():
    cls()
    print("""Here are your current stats:

    -----------------
    Level 1       """, Lvl, """
    -----------------
    Hit Points:   """, HP, """
    Skill Points: """, SP, """ 
    Armor:        """, AC, """
    -----------------
    Attack:       """, Atk, """
    Accuracy:     """, Acc, """
    Mind:         """, Mind, """
    Evade:        """, Evade, """  
    Defense:      """, Def, """
    Charisma:     """, Cha, """
    -----------------
    """)

    input("Press Enter to continue...")

def initstatswarrior():
    HP = 100
    SP = 40
    AC = 60
    Atk = 11
    Acc = 11
    Mind = 8
    Evade = 8
    Def = 13
    Cha = 9


    namecharacter()
    initstatswarrior()
    selectclass()
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\Notepad++\rpg\start.py”,第48行,在
selectclass()
selectclass中第17行的文件“C:\Program Files\Notepad++\rpg\start.py”
一级
NameError:未定义名称“Lvl”
导入操作系统
def cls():
操作系统(“CLS”)
def namecharacter():
cls()
playername=输入(“字符名:”)
打印(“你将被称为“玩家名称”,在王国中。\n”)
输入(“按Enter键继续…”)
def selectclass():
cls()
打印(“”)以下是您当前的统计信息:
-----------------
一级
-----------------
生命值:“,HP”
技能点:“,SP”
装甲:“,AC”
-----------------
攻击:“”,Atk“”
准确度:“,Acc”
心:“,心,”
逃避:“,逃避”
防御:“,Def”
魅力:“,恰恰”
-----------------
""")
输入(“按Enter键继续…”)
def initstatswarrior():
马力=100
SP=40
AC=60
Atk=11
Acc=11
思维=8
逃避=8
Def=13
Cha=9
名称字符()
initstatswarrior()
selectclass()

谢谢大家!

您没有为Lvl分配任何值,因此会出现错误。您可能希望这样做:

import os

def cls():
    os.system ("CLS")

def namecharacter():
    cls()
    playername = input("Character Name: ")
    print ("You shall be called", playername, "in the realm.\n")
    input("Press Enter to continue...")

def selectclass():
    cls()
    Lvl = 1
    HP = 100
    SP = 40
    AC = 60
    Atk = 11
    Acc = 11
    Mind = 8
    Evade = 8
    Def = 13
    Cha = 9
    print("""Here are your current stats:

    -----------------
    Level         """, Lvl, """
    -----------------
    Hit Points:   """, HP, """
    Skill Points: """, SP, """
    Armor:        """, AC, """
    -----------------
    Attack:       """, Atk, """
    Accuracy:     """, Acc, """
    Mind:         """, Mind, """
    Evade:        """, Evade, """
    Defense:      """, Def, """
    Charisma:     """, Cha, """
    -----------------
    """)

    input("Press Enter to continue...")


namecharacter()
selectclass()
输出:

Character Name: x
You shall be called x in the realm.

Press Enter to continue...
Here are your current stats:

    -----------------
    Level          1 
    -----------------
    Hit Points:    100 
    Skill Points:  40 
    Armor:         60 
    -----------------
    Attack:        11 
    Accuracy:      11 
    Mind:          8 
    Evade:         8 
    Defense:       13 
    Charisma:      9 
    -----------------

Press Enter to continue...

Lvl
在您的代码中只使用一次,它是一个参考,而不是一个赋值。你认为这是怎么回事?此外,正如我在个人资料中所说,RPG对于初学者编程项目来说是一个糟糕的选择,因为你最终做了大量的工作,却对编程了解甚少。首先要做的是正确地缩进问题中的代码,这样我们才能真正知道发生了什么。缩进是为文章修改的。我将尝试编辑它。感谢使用按钮
{}
正确缩进有问题的代码。始终添加有问题的完整错误消息(回溯)-可能有有用的信息-例如,哪一行有问题。我来试一试。消除额外功能带来的头痛。谢谢我收到了同样的错误信息。我想知道我的语法是否有问题您是否尝试过复制粘贴此代码?我测试过了,效果很好!我忘了在记事本+++中点击Save。哈哈,谢谢你的帮助。感谢you@BrandonJ.Wood因此,没有函数将此标记为已解决-您只能接受此答案。