このコードはユーザが名前を入力できるようにするためのものですが、数字を入力するとエラーが表示されます! ')、名前を再度入力するように促します。このプロセスは、ユーザーが数字のない文字列を入力するまでループし続けます。ユーザがDef内で定義した変数を呼び出す際のNameError - Python 3.x
if not any(char.isdigit() for char in name):
break
純粋なアルファベットはstring-を入力する場合
しかし、その後ループが破壊され、入力の結果は、後のプログラムで使用するためのリストに変換されます。 ループが壊れているとき、私はこのエラーを取得:
namelist = list(name.lower().strip(" "))
NameError: name 'name' is not defined
あなたは以下を参照することができますように、私はすでに内の入力の結果として、変数名を定義している。ここは、エラーがの出番ですnaming()定義。私は間違って何をしていますか?助けてくれてありがとう!
def naming():
name = input ("please input your name: ")
while any(char.isdigit() for char in name):
print ("\nNo numbers please!\n")
naming()
if not any(char.isdigit() for char in name):
break
naming()
#making the name into a list
namelist = list(name.lower().strip(" "))
名前は*その関数に対してローカルです。外部にアクセスする必要がある場合は、 'return'して割り当てます。 – jonrsharpe
あなたのインデントが正しくありません。あなたの質問でもう一度チェックしてください。 –