-1

私が作成しているテキストベースのゲームでいくつかの統計を取得しようとしています。関数から変数を返そうとしましたが、グローバル変数に入れようとするたびに名前エラーが発生します。これについて多くのトピックを調べましたが、見つけたものはあまり役に立ちませんでした。これは、ゲームを試して修正するために作成したコードです。

def HEALTH():
    health =['''
    ===============''','''
    ==============''','''
    =============''','''
    ============''','''
    ===========''','''
    ==========''','''
    =========''','''
    ========''','''
    =======''','''
    ======''','''
    =====''','''
    ====''','''
    ===''','''
    ==''','''
    =''','''
    x''']
    return health
health =HEALTH(health)
print(health[0])
4

2 に答える 2

1

関数定義HEALTHでは引数を取りません。したがって、次の行は必ず失敗します。

health =HEALTH(health)

実際、この行はという名前のクラスを作成しようとしているように見えますが、定義している変数をfunction の引数としてHEALTH使用しているため、特に失敗する可能性があります。health

おそらく、あなたがしようとしているのは、関数定義で引数を受け入れることです:

def HEALTH(health_level):
    health=['''...''']]
    return health[health_level]

print(HEALTH(0))

物事にももっと良い名前が必要です。関数を次のように呼び出してみませんか。

def get_health(health_level):
    health=['''...''']
    return health[health_level]

そうすれば、単に「健康」という言葉を何度も何度も使用して混乱を招くことはありません。

于 2013-08-06T18:36:14.237 に答える