Pythonを学んでいて、現在問題解決の二分法を学んでいます。私は、0 から 100 までのユーザーの推測を取り入れ、二分法を使用してその推測を見つけようとするコードを書いています。コードは次のとおりです。
answer = raw_input('Please think of a number between 0 and 100')
#I've been using 80 as my test case
low = 0
high = 100
guess = (low+high)/2
while guess != answer:
if guess < answer:
low = guess
else:
high = guess
guess = (low+high)/2
私が気付いたのは、私の推測 < 回答が false の場合、else ブロックは実行されないため、私の高い数値は決して変わらないということです。なぜこうなった?ここで何かを見落としていますか?