Бесплатные игры онлайн без регистрации, флеш игры
Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты |
На главную
Мини-игры
12+
Покер
Классика жанра, аутентичный Texas HoldEm! Покер — тренажер для концентрации внимания и логического мышления. Развивает дисциплину и учит правильному планированию.
Играть
12+
Однорукий бандит
Беспроигрышный слот Однорукий Бандит приносит выигрыши в фишках и золоте, развивает игровую интуицию и дарит удачу 777.
Играть
12+
Русский Покер
Русский покер — игра для четырех человек с традиционным русским колоритом. Легко понятные правила, увлекательный геймплей. Тренировка кратковременной зрительной памяти, логики и самоконтроля.
Играть
12+
Poker Arena
Участвуйте в покерных турнирах и получайте удовольствие от игры, где мастерство значит столько же, сколько удача! Покер увеличивает объем рабочей памяти и развивает невербальную память. Совершенствует зрительное восприятие.
Играть
6+
Балда
Распространённая настольная игра на составление слов из букв на игровом поле! Кроме прокачки эрудиции, Балда развивает память на названия: профилактика забывчивости в легкой игровой форме.
Играть
6+
Эрудит
Блесни словарным запасом! Популярная игра на составление слов. Расширяет словарный запас и кругозор, совершенствует навыки восприятия и чтения, повышает скорость визуального сканирования. Аналоги игры: Телеграф, Словодел, Скрэббл (Scrabble).
Играть
12+Рулетка
Игра в рулетку — круговорот азарта и удачи. Делайте ставки, господа! Игра-антидепрессант и союзник в борьбе со стрессом.
Играть
12+
Тысяча
Тысяча (1000) — карточная игра для любителей преферансов и карточных взяточных игр. Развивают зрительное внимание и аналитические способности мозга.
Играть
6+
Словоряд
Словоряд – оригинальная словесная игра с механикой match-3 (три-в-ряд). Тренажер для зрительного восприятия и памяти.
Играть
6+
Инди Кот
Инди Кот — онлайн игра в жанре три-в-ряд! Собирайте артефакты в затерянных мирах! Игра улучшает невербальную память и прокачивает навыки планирования.
Играть
6+
Чудеса
Игра Чудеса: в мире сказок — спаси сказочных героев! Тренирует логическое мышление, борется с возрастными изменениями в памяти и прокачивает навыки планирования.
Играть
12+
Храп
Делай ставки и выигрывай банк в увлекательной карточной онлайн-игре Храп. Игра препятствует возрастным когнитивным нарушениям, борется с расстройствами памяти и предотвращает болезни иммунитета.
Играть
6+
Буркозел
Популярная карточная игра со школьного двора! Тренажер для зрительной памяти, логики и концентрации внимания.
Играть
6+Кинг
Игра Кинг — онлайн-версия знаменитого преферанса для троих или четверых человек. Придумай хитроумную стратегию! Прокачай внимательность, зрительную память, натренируй визуальное восприятие.
Играть
6+
Море слов
Набирайте очки, составляя сложные слова из предложенных наборов букв и побеждайте в увлекательной онлайн-игре на развитие логики! Развивает внимательность, память на названия предметов, улучшает эрудицию и учит быстро принимать решения.
Играть
6+
Пазлы
Головоломка с мировым именем и любовью миллионов людей. Пусть головоломка сложится и задача решится! Игра учит быстрее запоминать зрительные образы, развивает пространственное восприятие и приучает к планированию.
Играть
6+
Виселица
Любителям играть словами. Вспомните любимую игру детства – Виселицу! Игры со словами развивают память на названия и имена и тренирует визуальное сканирование, чтобы повысить внимательность и научиться принимать решения быстро и без стресса.
Играть
6+
Воображариум
«Воображариум» — настольная онлайн-игра в ассоциации. Победи соперников силой воображения! Тренирует невербальную память и развивает творческие способности.
Играть
6+
Пасьянс Косынка
Косынка — классический пасьянс! Соревнуйтесь с другими. Подходит для тренировки распределенного внимания, умения выполнять много дел сразу. Учит находить выход в сложных ситуациях. У старшего поколения Пасьянс — профилактика возрастных изменений мозга.Играть
0+
Верю — не верю
А какой выбор сделаете вы? Верить или не верить? Вот в чем вопрос!
Играть
12+
Нарды длинные
Древняя восточная игра — длинный вариант! Нарды развивают память и логику, улучшают способность к прогнозированию и концентрации внимания.
Играть
6+
Домино
В этой игре козла забивают самым миролюбивым образом! Попутно развивает арифметические способности, помогает выработать стратегическое мышление. Увеличит количество эндорфинов — это приводит к сокращению кровяного давления и повышает стрессоустойчивость.
Играть
6+
Бильярд восьмерка
Распространенная и популярная разновидность бильярда. Присоединяйся к игре! Приятный способ научиться лучше концентрировать внимание и контролировать эмоции.
Играть
6+
Бильярд девятка
Усложненная разновидность классического бильярда. Собери друзей за столом! Игра учит контролю внимания, укрепляет силу воли, уравновешивает эмоции, учит сопротивляться и не терять веру в себя.
Играть
6+
Русский бильярд
Русская модификация классического бильярда. Учит мыслить творчески и стратегически, укрепляет нервную систему и оттачивает глазомер.
Играть
6+
Морской бой
Вспомним школьные годы! Эпические морские сражения на листочках в клеточку! Учит владеть собой, реализовать и анализировать свои и чужие игровые стратегии, тренирует зрительную память и логику.
Играть
6+
Покер на костях
Схвати удачу за хвост! Собери правильную комбинацию! Тренировка зрительной памяти и логического мышления.
Играть
12+
Нарды короткие
Древняя игра с восточным колоритом — короткий вариант! Нарды повышают показатели аналитического мышления, развивают когнитивную гибкость и способность думать над несколькими вещами одновременно.
Играть
12+
Преферанс
Карточная игра русских аристократов XIX века. Осторожно, только для интеллектуалов! Преферанс улучшает математические способности, помогает научиться быстро производить в уме сложные операции. Тренирует память и логику.
Играть
6+
Зверята: 3 в ряд
Зверята: три-в-ряд — бесплатная онлайн-игра в жанре match-3 (три-в-ряд). Развивает способность фокусироваться и контролировать одновременно много действий, улучшает настроение. Стабилизирует настроение. Игровая профилактика стресса.
Играть
6+
Русское Лото
Русское лото. Для тех, кто помнит классику! Тренажер для прокачки кратковременной памяти и фокусированного внимания.
Играть
6+
Шахматы
Проведите блестящую партию в стратегической игре с мировым именем. Шах и мат! Тренируйте аналитические способности, развивайте память, концентрацию. Шахматы повышают способность обучаться в других областях знаний и развивают целеустремленность.
Играть
6+
Шашки
Игра для тех, кто ценит классику. Обставь друга! Раз — и в дамки! Обучает правильно распределять внимание и расширяет объем рабочей памяти.
Играть
6+
Арканоид
Классическая видеоигра! Управляй ракеткой, отбивай мячик, разбей стенку и собери бонусы! Регулярные аркадные тренировки прокачивают кратковременную зрительную память, улучшают способность концентрироваться, быстро распознавать и реагировать на внешние стимулы.
Играть
6+
Дурак подкидной
Популярная карточная игра для веселой компании, подкидной вариант! Несложные правила делают игру легкой для освоения, но с точки зрения разнообразия стратегий и тактик Дурак подкидной учит вырабатывать алгоритмы решения игровых ситуаций, улучшает зрительную память.
Играть
6+
Дурак переводной
Распространенная карточная игра для веселой компании, переводной вариант! Незаменим для тренировки логического мышления и памяти. За счет геймлея Дурак переводной — действенный тренажер концентрации внимания.
Играть
12+
Бизнес-Тур
Бизнес-Тур — игра на основе классической настольной монополии. Обыграй соперников и стань самым влиятельным человеком мира! Развивает стратегическое мышление, тренирует зрительную память и приучает к разумному планированию бюджета.
Играть
смотреть ещё
Бесплатные игры онлайн без регистрации, флеш игры
Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты |
На главную
Мини-игры
12+
Покер
Классика жанра, аутентичный Texas HoldEm! Покер — тренажер для концентрации внимания и логического мышления. Развивает дисциплину и учит правильному планированию.
Играть
12+
Однорукий бандит
Беспроигрышный слот Однорукий Бандит приносит выигрыши в фишках и золоте, развивает игровую интуицию и дарит удачу 777.
Играть
12+
Русский Покер
Русский покер — игра для четырех человек с традиционным русским колоритом. Легко понятные правила, увлекательный геймплей. Тренировка кратковременной зрительной памяти, логики и самоконтроля.
Играть
12+
Poker Arena
Участвуйте в покерных турнирах и получайте удовольствие от игры, где мастерство значит столько же, сколько удача! Покер увеличивает объем рабочей памяти и развивает невербальную память. Совершенствует зрительное восприятие.
Играть
6+
Балда
Распространённая настольная игра на составление слов из букв на игровом поле! Кроме прокачки эрудиции, Балда развивает память на названия: профилактика забывчивости в легкой игровой форме.
Играть
6+
Эрудит
Блесни словарным запасом! Популярная игра на составление слов. Расширяет словарный запас и кругозор, совершенствует навыки восприятия и чтения, повышает скорость визуального сканирования. Аналоги игры: Телеграф, Словодел, Скрэббл (Scrabble).
Играть
12+
Рулетка
Игра в рулетку — круговорот азарта и удачи. Делайте ставки, господа! Игра-антидепрессант и союзник в борьбе со стрессом.
Играть
12+
Тысяча
Тысяча (1000) — карточная игра для любителей преферансов и карточных взяточных игр. Развивают зрительное внимание и аналитические способности мозга.
Играть
6+
Словоряд
Словоряд – оригинальная словесная игра с механикой match-3 (три-в-ряд). Тренажер для зрительного восприятия и памяти.
Играть
6+
Инди Кот
Инди Кот — онлайн игра в жанре три-в-ряд! Собирайте артефакты в затерянных мирах! Игра улучшает невербальную память и прокачивает навыки планирования.
Играть
6+
Чудеса
Игра Чудеса: в мире сказок — спаси сказочных героев! Тренирует логическое мышление, борется с возрастными изменениями в памяти и прокачивает навыки планирования.
Играть
12+
Храп
Делай ставки и выигрывай банк в увлекательной карточной онлайн-игре Храп. Игра препятствует возрастным когнитивным нарушениям, борется с расстройствами памяти и предотвращает болезни иммунитета.
Играть
6+
Буркозел
Популярная карточная игра со школьного двора! Тренажер для зрительной памяти, логики и концентрации внимания.
Играть
6+
Кинг
Игра Кинг — онлайн-версия знаменитого преферанса для троих или четверых человек. Придумай хитроумную стратегию! Прокачай внимательность, зрительную память, натренируй визуальное восприятие.
Играть
6+
Море слов
Набирайте очки, составляя сложные слова из предложенных наборов букв и побеждайте в увлекательной онлайн-игре на развитие логики! Развивает внимательность, память на названия предметов, улучшает эрудицию и учит быстро принимать решения.
Играть
6+
Пазлы
Головоломка с мировым именем и любовью миллионов людей. Пусть головоломка сложится и задача решится! Игра учит быстрее запоминать зрительные образы, развивает пространственное восприятие и приучает к планированию.
Играть
6+
Виселица
Любителям играть словами. Вспомните любимую игру детства – Виселицу! Игры со словами развивают память на названия и имена и тренирует визуальное сканирование, чтобы повысить внимательность и научиться принимать решения быстро и без стресса.
Играть
6+
Воображариум
«Воображариум» — настольная онлайн-игра в ассоциации. Победи соперников силой воображения! Тренирует невербальную память и развивает творческие способности.
Играть
6+
Пасьянс Косынка
Косынка — классический пасьянс! Соревнуйтесь с другими. Подходит для тренировки распределенного внимания, умения выполнять много дел сразу. Учит находить выход в сложных ситуациях. У старшего поколения Пасьянс — профилактика возрастных изменений мозга.
Играть
0+
Верю — не верю
А какой выбор сделаете вы? Верить или не верить? Вот в чем вопрос!
Играть
12+
Нарды длинные
Древняя восточная игра — длинный вариант! Нарды развивают память и логику, улучшают способность к прогнозированию и концентрации внимания.
Играть
6+
Домино
В этой игре козла забивают самым миролюбивым образом! Попутно развивает арифметические способности, помогает выработать стратегическое мышление. Увеличит количество эндорфинов — это приводит к сокращению кровяного давления и повышает стрессоустойчивость.
Играть
6+
Бильярд восьмерка
Распространенная и популярная разновидность бильярда. Присоединяйся к игре! Приятный способ научиться лучше концентрировать внимание и контролировать эмоции.
Играть
6+
Бильярд девятка
Усложненная разновидность классического бильярда. Собери друзей за столом! Игра учит контролю внимания, укрепляет силу воли, уравновешивает эмоции, учит сопротивляться и не терять веру в себя.
Играть
6+
Русский бильярд
Русская модификация классического бильярда. Учит мыслить творчески и стратегически, укрепляет нервную систему и оттачивает глазомер.
Играть
6+
Морской бой
Вспомним школьные годы! Эпические морские сражения на листочках в клеточку! Учит владеть собой, реализовать и анализировать свои и чужие игровые стратегии, тренирует зрительную память и логику.
Играть
6+
Покер на костях
Схвати удачу за хвост! Собери правильную комбинацию! Тренировка зрительной памяти и логического мышления.
Играть
12+
Нарды короткие
Древняя игра с восточным колоритом — короткий вариант! Нарды повышают показатели аналитического мышления, развивают когнитивную гибкость и способность думать над несколькими вещами одновременно.
Играть
12+
Преферанс
Карточная игра русских аристократов XIX века. Осторожно, только для интеллектуалов! Преферанс улучшает математические способности, помогает научиться быстро производить в уме сложные операции. Тренирует память и логику.
Играть
6+
Зверята: 3 в ряд
Зверята: три-в-ряд — бесплатная онлайн-игра в жанре match-3 (три-в-ряд). Развивает способность фокусироваться и контролировать одновременно много действий, улучшает настроение. Стабилизирует настроение. Игровая профилактика стресса.
Играть
6+
Русское Лото
Русское лото. Для тех, кто помнит классику! Тренажер для прокачки кратковременной памяти и фокусированного внимания.
Играть
6+
Шахматы
Проведите блестящую партию в стратегической игре с мировым именем. Шах и мат! Тренируйте аналитические способности, развивайте память, концентрацию. Шахматы повышают способность обучаться в других областях знаний и развивают целеустремленность.
Играть
6+
Шашки
Игра для тех, кто ценит классику. Обставь друга! Раз — и в дамки! Обучает правильно распределять внимание и расширяет объем рабочей памяти.
Играть
6+
Арканоид
Классическая видеоигра! Управляй ракеткой, отбивай мячик, разбей стенку и собери бонусы! Регулярные аркадные тренировки прокачивают кратковременную зрительную память, улучшают способность концентрироваться, быстро распознавать и реагировать на внешние стимулы.
Играть
6+
Дурак подкидной
Популярная карточная игра для веселой компании, подкидной вариант! Несложные правила делают игру легкой для освоения, но с точки зрения разнообразия стратегий и тактик Дурак подкидной учит вырабатывать алгоритмы решения игровых ситуаций, улучшает зрительную память.
Играть
6+
Дурак переводной
Распространенная карточная игра для веселой компании, переводной вариант! Незаменим для тренировки логического мышления и памяти. За счет геймлея Дурак переводной — действенный тренажер концентрации внимания.
Играть
12+
Бизнес-Тур
Бизнес-Тур — игра на основе классической настольной монополии. Обыграй соперников и стань самым влиятельным человеком мира! Развивает стратегическое мышление, тренирует зрительную память и приучает к разумному планированию бюджета.
Играть
смотреть ещё
Игровое упражнение Python Shirtori — Code Review Stack Exchange
Задавать вопрос
спросил
Изменено 2 года, 11 месяцев назад
Просмотрено 816 раз
\$\начало группы\$
Я хочу улучшить свой код в целом с помощью экспертной оценки. Я выполнил следующее упражнение: https://edabit.com/challenge/dLnZLi8FjaK6qKcvv.
Упражнение заключается в создании английской версии игры Shiritori. Вы можете найти объяснение, перейдя по ссылке, но я все равно объясню ниже.
Игра на совпадение слов, где последняя буква последнего произнесенного слова должна совпадать с первой буквой следующего слова. Слово нельзя использовать снова после того, как оно было сыграно в этой игре. Если слово не соответствует этим правилам, игра заканчивается и игра начинается заново.
Пожалуйста, найдите код ниже:
Источник #упражнений = https://edabit.com/challenge/dLnZLi8FjaK6qKcvv ''' Класс Сиритори Управляет действием и состоянием игры ''' класс Сиритори: ''' Настройте пустой массив для хранения последних использованных слов. Сохраняет используемое в данный момент слово для оценки Инициирует основной игровой цикл main() ''' защита __init__(сам): self.playedWords = [] self.currentWord = Нет self.main () ''' Определяет, соответствует ли первая буква текущего слова последней букве слова ''' определение правилаОдин (я): lastWord = self.playedWords[-1] если lastWord[-1] == self.currentWord[0]: вернуть Истина вернуть ложь ''' Определяет, было ли уже сыграно текущее слово ''' Def ruleTwo (я): если self.currentWord в self.playedWords: вернуть ложь вернуть Истина ''' Добавляет текущее слово в список воспроизводимых слов ''' определение addWord (я): self.playedWords.append(self.currentWord) ''' Сыграть ход 1. вводит слово, которое преобразуется в нижний регистр и удаляет все дополнительные пробелы 2. проверяет, является ли это первое воспроизводимое слово, добавляет слово, если слова не воспроизводились 3. проверяет слово на соответствие правилу 1 и правилу 2, добавляет слово, если оба правила верны 4.
если 2 или 3 не были выполнены, активируйте сообщение о завершении игры и перезапустите игру. ''' def play(я, слово): слово = слово.нижний() слово = слово.strip() self.currentWord = слово если не self.playedWords: self.addWord() elif(self.ruleOne() и self.ruleTwo()): self.addWord() еще: self.gameOver() ''' печатает сообщение о завершении игры и перезапускает игру ''' защита gameOver (я): print("Вы проиграли. Игра перезапускается.") self.playedWords = [] self.currentWord = Нет ''' Основной цикл игры. Продолжает принимать слова от пользователей и воспроизводить их в играх. Выйдите из цикла, введя пустую строку или просто нажав Enter. ''' деф основной (я): print("Введите слово или введите '', чтобы выйти из игры") пока верно: word = input("Пожалуйста, введите слово>") самостоятельная игра (слово) если слово == '': перерыв print("Спасибо за игру.
") игра = Сиритори()
Редактировать 1
Объяснение кода
После запуска код должен запустить основную функцию класса, которая будет повторяться до тех пор, пока пользователь не решит выйти, нажав клавишу ввода (введя пустую строку). В противном случае программа должна принять строку символов как слова. Обратите внимание, что данные не анализируются, кроме перевода слова в нижний регистр и удаления дополнительных пробелов. Введенное слово будет проверено по массиву, чтобы увидеть, совпадают ли два правила, если правила не совпадают, то игра переходит в функцию «игра окончена», которая автоматически сбрасывает игру.
Игра запускается в консоли.
Нестандартный выбор
массив[-1]
истрока[-1]
последняя буква и последняя строкаПервоначально я использовал
len(строка/массив)-1
для получения последней буквы/строки. Однако это кажется более привлекательным, но сомнительно, что это читаемоОсновной внутри или снаружи класса
Я выбрал внутри, но, возможно, он должен быть вне класса, поскольку имеет смысл иметь там основной цикл и держать его отдельно от объекта, однако это основные элементы управления, поэтому я не уверен.
функция воспроизведения
if,elif,else
если оператор
иelif
делают одно и то же, должен быть более эффективный способ сделать это без разделения действия на функцию и наличия обоих операторовесли слово == ''
Не уверен, что это неортодоксально, но должно быть лучшее сравнение
word.lower()
,word.strip()
,self.currentWord = слово
Возможно, есть лучший способ совместить это?
- питон
- питон-3.x
- игра
\$\конечная группа\$
3
\$\начало группы\$
Прежде чем углубляться в код, давайте посмотрим, какие «неортодоксальные варианты» перечислены в вопросе
Использование
array[-1]
полностью соответствует Python и, скорее всего, будет считаться гораздо более читабельным и Pythonic, чем использованиеlen(.
...)-1
основной
функциональныйИметь основную функцию
main()
с игровым циклом, а также печально известная функция, если __name__ == "main":
, также известный как среда сценария верхнего уровня в технических терминах. Весь код внутри тела этого, если
запускается только тогда, когда вы выполняете файл как скрипт, вместо этого, например.импортировать
что-то в другой файл.функция play
,if
операторЛегко совместить оба условия:
, если не self.playedWords или (self.ruleOne() и self.ruleTwo()): self.addWord() еще: self.gameOver()
Также можно было бы инвертировать условие:
если self.playedWords и не (self.ruleOne() или self.ruleTwo()): self.gameOver() еще: self.addWord()
если слово == ''
Python призывает вас быть явным в своем коде. Просто ради аргумента,
, если не слово:
, будет иметь аналогичный эффект.word.lower(), word.strip(), self.currentWord = слово
Эти вызовы можно объединить в цепочку:
self.currentWord = word.lower().strip()
. Краткое примечание:.strip()
удаляет только конечные и начальные пробелы. Если пользователь ввел несколько слов, пробелы между ними не изменятся.
Я настоятельно рекомендую взглянуть на официальное руководство по стилю для кода Python, также известное как PEP 8 (снова). Вот некоторые ключевые выводы из этого чтения:
- предпочитают использовать
строчные_с_подчеркиванием0038 для имен функций и переменных.
-
Верхний регистр
"зарезервирован" для имен классов (здесь нет проблем в коде) Строки документации - должны быть определены внутри функции, то есть после
def what_ever_name():
, а не раньше.В противном случае Python
help(...)
, а также большинство IDE не поймут его правильно. Дополнительные сведения о строках документации см. в PEP 257.
К счастью, существует множество инструментов, которые помогут сохранить единый стиль даже при разрастании проектов. Этот список в Code Review Meta предоставляет вам хорошую отправную точку для начала работы.
Как я уже говорил, я бы не рекомендовал запускать игру сразу в __init__
. даже если вы сохраните основной игровой цикл внутри класса, пользователь должен будет явно запускать игру.
Переменная-член self.currentWord
не является строго необходимой. Разрешив слово в качестве входных данных для ruleOne
, ruleTwo
и addWord
, было бы легче увидеть, что происходит.
Немного переписав, 9Можно использовать набор 0037 . Набор
не допускает дублирования элементов и имеет более быстрые тесты принадлежности по сравнению со списком (постоянное время по сравнению с линейным временем). Однако
set
не сохраняет порядок элементов, т. е. класс должен хранить последнее слово в переменной-члене.
Наличие last_word
вместо current_word
/ currentWord
также было бы ближе к тому, что можно было бы ожидать, глядя на правила игры.
\$\конечная группа\$
\$\начало группы\$
Я собираюсь сделать все простые улучшения, которые я смогу заметить, и вызвать их по мере продвижения; кое-что из того, что я собираюсь сказать, вероятно, будет дублировать отличные моменты, уже поднятые @AlexV.
Запуск игры при создании экземпляра объекта имеет необычный интерфейс. Я бы переименовал этот метод
main
во что-то вродеrun
и вызывал функцию__main__
после создания игрового объекта.Строки документации обычно заключаются в тройные двойные кавычки, а не в одинарные.
Они также обычно идут внутри функции, которую они документируют, а не перед ней, и они должны документировать внешнее поведение, а не внутреннюю реализацию (при необходимости используйте комментарии для объяснения внутренних компонентов).
Избегайте ненужного состояния; ваш
currentWord
используется только в контексте одного хода, поэтому нет необходимости отслеживать его в вашем классе.Имя переменной и метода должно быть змеиным, а не верблюжьим.
Добавление аннотаций типов помогает проверить правильность кода.
Вместо:
если условие: вернуть Истина вернуть ложь
do:
return condition
(при условии, что условие
уже является логическим значением; если вы используете аннотации типов, mypy применит это за вас)
Я думаю, что логика
воспроизведения
становится более ясной, если сгруппировать два «действительных» условия в один предикатif
.Другой способ приблизиться к этому — реализовать как
rule_one
, так иrule_two
, чтобы возвращатьTrue
, когда список пуст, чтобы вам не нужно было указывать его в специальном регистре в вызывающей программе.Неявные проверки «истины» могут привести к незаметным ошибкам, поэтому я обычно предпочитаю явные логические условия, например.
не Нет
илиlen(...) > 0
.
Вот код, который я получил:
#Exercise source = https://edabit.com/challenge/dLnZLi8FjaK6qKcvv от ввода списка импорта класс Сиритори: """ Класс Сиритори Управляет действием и состоянием игры """ защита __init__(сам): self.played_words: List[str] = [] # использованных слов def rule_one(self, word: str) -> bool: """Определяет, совпадает ли первая буква слова с последней буквой слова.""" вернуть слово[0] == self.played_words[-1][-1] def rule_two(self, word: str) -> bool: """Определяет, не было ли уже сыграно слово""" вернуть слово не в self.played_words def add_word(self, word: str) -> None: """Добавляет текущее слово в список воспроизводимых слов""" self.played_words.append (слово) def play(self, word: str) -> None: """ Сыграйте слово, проверяя его на соответствие правилам. Если какие-либо правила нарушены, завершите игру и перезапустите. """ слово = слово.нижний().полоса() # Если еще не воспроизведено ни одного слова, это воспроизведение автоматически засчитывается. # В противном случае он должен удовлетворять правилам один и два. если (len(self.played_words) == 0 или self.rule_one (слово) и self.rule_two (слово)): self.add_word(слово) еще: self.game_over() def game_over(self) -> Нет: """распечатывает сообщение о завершении игры и сбрасывает игру""" print("Вы проиграли. Игра перезапускается.") self.played_words = [] def run(self) -> Нет: """ Основной цикл игры.
Продолжает принимать слова от пользователя и воспроизводить их в игре. Выйдите из цикла, введя пустую строку. """ print("Введите слово или введите '', чтобы выйти из игры") пока верно: word = input("Пожалуйста, введите слово>") самостоятельная игра (слово) если слово == '': перерыв print("Спасибо за игру.") если __name__ == '__main__': игра = Сиритори() игра.выполнить()
\$\конечная группа\$
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.
: Правила исчезновения
«Хочешь знать, куда пошла Люси? Она пошла играть в игру. Ты тоже можешь играть. Найти партнера. Найдите ключ. Найдите дорогу. У тебя есть два дня.
Что бы вы сделали, если бы вся ваша школа получила одно и то же зловещее текстовое сообщение? Я бы, наверное, пошел домой и спрятался в своей комнате, пока люди не перестанут говорить об этом, но персонажи Rules for Vanishing мало чего боятся и решают сыграть в эту жуткую игру.
Что за игра? Согласно местной легенде, речь идет о поиске Люси Гэллоус: потерянной маленькой девочки, которую в последний раз видели более 50 лет назад. Очевидно, однажды она забрела в лес, и хотя ее брат пошел ее искать, ее больше никто не видел. Действительно ли ее брат убил ее и спрятал тело? Она убежала? Или она попала в ловушку на таинственной дороге, как и многие другие до нее? Граждане Брайар-Глена, возможно, никогда не узнают об этом, но всегда будут задаваться вопросом.
То есть до тех пор, пока Бекка Донохью не пропадает, а ее сестра Сара полна решимости найти ее. Сара знает, что ее сестра все еще жива, и не верит, что она сбежала с мальчиком (несмотря на то, что заявила местная полиция после ее исчезновения). Нет, она знает, что исчезновение ее сестры каким-то образом связано с местной легендой о призраке Люси, и она полна решимости во что бы то ни стало выяснить, как все это связано.
Если вы ищете страшную книгу для чтения этой осенью, я настоятельно рекомендую добавить в свой список Rules for Vanishing . Как только я увидел описание этой книги, я понял, что должен ее прочитать, и, друзья, я был а не разочарован. Стиль письма (фальшиво-документальный) сравнивали с The Blair Witch Project (которого я никогда не видел), но это то, что действительно привлекло мое внимание.
История рассказывается с помощью ряда документов: интервью, обмен текстовыми сообщениями и электронной почтой, видеодоказательства (которые больше похожи на сценарий) и свидетельства главной героини Сары (которые написаны больше как традиционные книжные главы).