2016-12-24 12 views
-2

私はこのために同様のスレッドがあることを知っています。Pythonで変数が定義されていません

「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() 

ありがとう!

+1

は 'Lvl'だけで、あなたのコード内で一度使用され、それが参照ではなく、割り当てます。それがどのように機能すると思いますか?また、私が自分のプロフィールで言うように、RPGは初心者向けのプログラミングプロジェクトにとっては貧弱な選択です。なぜならプログラミングについてほとんど習得することができないからです。 – TigerhawkT3

+0

私たちが何が起こっているのかを実際に知ることができるように、質問の中にコードを適切にインデントすることが第一の目的です。 – Keiwan

+0

投稿のインデントが変更されました。私はそれを編集しようとします。ありがとう –

答えて

0

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... 
+0

私はそれを打ち明けます。余分な機能の頭痛を取り除きます。ありがとうございます –

+0

さて、それが動作するかどうか教えてください。 – Inconnu

+0

同じエラーメッセージが表示されています。私の文法に問題があるのだろうかと思う。 –

関連する問題