Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект 0. Угадай число

Оглавление

1. Описание проекта
2. Какой кейс решаем?
3. Краткая информация о данных
4. Этапы работы над проектом
5. Результат
6. Выводы

Описание проекта

Угадать загаданное компьютером число за минимальное число попыток.

⬆️к оглавлению

Какой кейс решаем?

Нужно написать программу, которая угадывает число за минимальное число попыток

Условия соревнования:

  • Компьютер загадывает целое число от 0 до 100, и нам его нужно угадать. Под «угадать», подразумевается «написать программу, которая угадывает число».
  • Алгоритм учитывает информацию о том, больше ли случайное число или меньше нужного нам.

Метрика качества
Результаты оцениваются по среднему количеству попыток при 1000 повторений

Что практикуем
Учимся писать хороший код на python

Краткая информация о данных

Для тестирования создаётся массив из 1000 случайных целых чисел в диапазоне от 1 до 100

⬆️к оглавлению

Этапы работы над проектом

Используются два метода угадывания:

  1. генерируются случайные числа, которые сравниваются с результатом
  2. диапазон разбивается пополам, после чего в каждой интерации диапазон поиска сужается ещё в 2 раза. На последнем этапе (когда диапазон сузился до 1) алгоритм угадывает просто делая один дополнительный "шаг" (например, диапазон сузился до 1-2, на данный момент предположено, что число - 1 и это ошибка (загадно - 2). Алгоритм просто попытается "угадать" число на один больше текущего.

⬆️к оглавлению

Результаты:

Выявлено, что в среднем число угадываний при использовании метода деления массива значительно ниже, чем при случайном угадывании (число попыток - 5)

⬆️к оглавлению

Выводы:

Угадывание путём "деления" массива пополам эффективно.

⬆️к оглавлению

Если информация по этому проекту покажется вам интересной или полезной, то я буду очень вам благодарен, если отметите репозиторий и профиль ⭐️⭐️⭐️-дами

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages