"あなたは数値を考え、コンピュータはそれを推測する必要があります"というプログラムを書いています。私のコードはここにあります:http://pastebin.com/6Ny01PJV、そしてそれが別の関数から関数を呼び出すときはいつでも、プログラムを終了するか、エラーを出力します。関数内で関数を呼び出すとエラーがスローされる
def guess():
global guess
guess = choice(list)
if guess in cache:
guess()
else:
pass
print (guess)
cache.append(guess)
def check(guess):
global check
check = input("Was " + str(guess) + " the number? (y, n) ").lower()
if check == "n":
global wrong
wrong = input("Lower or higher? ").lower
elif check == "y":
playAgain = input ("I guessed the number! Play again? (y, n)")
if playAgain == "y":
#Right here it will error out with a TypeError
main()
if playAgain == "n":
exit()
else:
print("Please answer in the format 'y' or 'n'"
def reguess():
if wrong == "lower":
reguess = choice(list < guess)
#Here it will end the program, no crash, just no error given
check(reguess)
elif wrong == "higher":
#The same happens here
check(reguess)
reguess = choice(list > guess)
「上」または「下」のいずれかを入力すると、プログラムを終了します。
私は間違っているのですか、私のコードに私が見ていないエラーがありますか?
PasteBinは使用しないでください。あなたのコードを[mcve]として質問に追加してください。 –
また、トレースバックを追加してください... 'list'関数を上書きして、' global'がどのように動作しているのか分かりません。 –
Pythonはパスカルではありません関数名を関数に戻すには、関数名に値を代入します。 – furas