Buls and Cows
На нем писать программу.
Я программист? Нельзя сказать!
Известен лишь Fortran мне.
Python, Fortran - они совпали
В функциональности своей
Но синтаксис их отличает,
К тому ж Fortran в разы быстрей
Python вначале проектирует
Написанный свой код в байт-код,
Затем байт-код интерпретирует
И сам Python дает итог.
В Python введен интерпретатор,
Он главный, как бы “оператор”.
Ошибки с ним легко исправить
Интерпретатор помогает.
Мой код - игра: “x” в нем число.
Оно четырехзначное,
Желание игрока узнать его,
Такая игрока задача.
Цифры в числе “х” без повторений
И ноль не может быть в начале,
В программе функция сравнений
Дает подсказку, что не странно,
Ведь без подсказки нет решений,
Вариантов много без сомнений.
Здесь логику бы применять
И это нужно понимать.
Игра такая всем известна,
Buls и Cows есть имя ей
Я думаю будет полезно
Для практики мне потрудиться с ней.
Хотя бы в смысле повторения.
И просто так для закрепления.
Другая цель сего творения
Задачу взять в стихотворение..
Когда я рифму применяю,
Смысл задачи четче знаю.
Теперь посмотрим как мой код
Четыре цифры подберет
В виде загадки игроку.
Сейчас я это объясню.
В число не ставим ноль в начало,
Все цифры разные возьмем.
Цифры находим все случайно
from random import shuffle() берем
Чтоб цифры все перемешать.
Мешать весь список цифр будем:
Ноль может где угодно встать.
Об этом думать здесь не будем.
Все десять цифр берем как list(z),
Где в скобках ( z )- его название.
Сумеет shuffle(z) list(z) сменить
(Здесь в скобках буквы не читаем)
Цифры меняет shuffe() случайно,.
Ведь shuffle() явился к нам из random,
Случайно выполнить задание.
list(z) - здесь список.Понимаешь?
Если захочешь, ты узнаешь .
Теперь мы в измененном списке
Возьмем четыре рядом цифры
Они все разные. Ты понял:
Ведь список с цифрами тот самый,
Лишь место цифры поменяли.
Другие индексы им дали.
Индекс - номер места цифры.
Той, что будет в этом списке..
Если “х” само число
Создать его совсем легко
Взяв в списке срез в четыре цифры
Из “z”, что измененный нынче.
Срез - часть списка по-порядку
Меж двух индексов подряд там..
Цифру первую берем
С индексом один
Дальше индексы растут
По порядку все идут.
Нужно только убедиться,
Что ноль не с индексом один
Если все же ноль случится,
Сдвинем срез на одиницу.
Первый индекс станет два
Там не ноль. Согласны да?
Игрок в input() число задал,
Оно четырёхзначное
Оно есть “y”, так назвал
И думает, что “х” узнал.
Теперь “х” с “у” есть в программе,
Чем похожи нам узнать бы.
Код программы выставляет
Игроку подсказку:
“Сколько цифр совпадает,
Сколько к индексам привязка”.
Коль значение и индекс цифр совпадает,
В “b”, что переменная, единицу прибавляем.
Если лишь в значении совпадение будет,
Прибавить единицу в “c” тоже не забудем.
“b” имеет смысл Buls “c” такой же смысл для Cows.
Buls и Cows значения даются игроку
Число “у” новое им вводится в input().
Такой процесс продлится пока значение Buls
Четверкой в “b” окажется, ты выиграл игру.
Число процессов игровых бывает задается.
Победа здесь сложнее, но тоже удается.
Свидетельство о публикации №125081000440