binary search_01


バイナリナビゲーション
# binary search 로 만드는 up, down 게임
def game(num):
    min = 1
    max = 100
    while True:
        c = int((min + max) / 2)
        print(c)
        if c == num:
            break
        hint = input('u,d : ')
        if (hint == 'u' and num < c) or (hint == 'd' and num > c):
            print('힌트가 틀린 응답입니다.')
            continue
        elif hint == 'u':
            min = c
        elif hint == 'd':
            max = c
        else:
            print('틀린응답입니다')
    return '정답!'
man = int(input('숫자 1~100 : '))
result = game(man)
print(result)코드를 입력하세요
1~100の間に任意の数字を入力するゲーム
コンピュータは、中間値50=(min+max)/2からバイナリナビゲーションを使用してブラウズを開始します.
逆に、検索する最終値が検索した値より大きいか小さいかの情報は、通知の条件で行われます.
1を最終値として実行すると、
数字1~100:1
COM : 50
hint (u,d) : d
COM : 25
hint (u,d) : d
COM : 13
hint (u,d) : d
COM : 7
hint (u,d) : d
COM : 4
hint (u,d) : d
COM : 2
hint (u,d) : d
COM : 1
正解!
前のプローブ値は、プローブ範囲を縮小するために最大値に割り当てられ続けます.