Как разрешить пользователю вводить число и чтобы программа искала его в двоичном поиске по диссонансу - PullRequest
0 голосов
/ 31 марта 2019

Мой код должен использовать двоичный поиск для поиска, если пользователь ввел любое из следующих чисел в двоичном поиске. Я не лучший в реализации этого в раздор. Просто нужно заставить его работать на раздор.

Пытался делать это без команд на разногласия, и это работает, однако я хочу, чтобы люди пользовались моим ботом разногласий и могли делать это онлайн.

@client.event
async def on_message(message):
    if message.content.upper().startswith('Number'):
        await client.send_message(message.channel, ((int(input"What number do you choose 1 to 100"))))

        numbers = [6,7,34,43,88,64]
        numbers.sort()


async def BinarySearch (numbers, wanted):
    found = False
    first = 0
    last = len(numbers)-1
    while (first <= last) and found == False:
        midpoint = (first + last) // 2
        if numbers[midpoint] ==wanted:
            found = True
        else:
            if wanted < numbers[midpoint]:
                last = midpoint -1
            else:
                first = midpoint + 1
    return found

if BinarySearch(numbers, wanted) == True:
    print("I Found Your NUMBER!!!")
else:
    print("no u, do it again!")

Если числа [6,7,34,43,88,64] не введены пользователем, то бот скажет, что если они это сделают, неправильные числа, то бот скажет, что вы сделали хороший номер.

1 Ответ

0 голосов
/ 31 марта 2019

message.contents.upper() никогда не может начинаться с "Number". Может начинаться с «НОМЕР». Я предполагаю, что ваше заявление if не выполняется.

Попробуйте поместить сообщение журнала в оператор if и проверьте.

...