このコードでどこが間違っているのか説明できますか?私は、入力番号と同じ数の入力を見つけて、さまざまなステートメントを出力するまで、二項検索を繰り返し、二分探索を繰り返します。両面検索コードが役に立たない
num =int(input("Please think of a number between 0 and 100!"))
maximum = num
minimum = 0
average = (minimum+maximum)/2.0
while(average<num):
print ("Is your secret number ", +average, "?")
cond = input("Enter 'h' to indicate the guess is too high.Enter 'l' to indicate the guess is too low.Enter 'c' to indicate I guessed correctly.")
if(cond == "h"):
maximum = minimum
minimum = 0
elif(cond == "l"):
minimum = maximum
maximum = 100
elif(cond == "c"):
print("Game over. Your secret number was: ", +average)
break
このプログラムを実行するとどのような出力が得られますか? –
あなたは 'average'や' num'を更新しませんので、 'cond == 'c''以外のループはどのように終了しますか?言い換えれば、決してあなたの検索スペースを「分割する」ことはありません。 –