Code Monkey home page Code Monkey logo

otus_python_01_poker's Introduction

Poker

Задание:

дополнить код в скрипте poker.py

Цель задания:

применить знания о итераторах\генераторах, получить (освежить) навык обращения с itertools . Умение умеренно использовать итераторы в правильных местах позволяет повысить читаемость и идиоматичность кода, а также облегчит чтение чужого кода.

Критерии успеха:

задание опционально, минимальным критерием успеха является прохождение тестов функции test_best_hand . Дальнейшая успешность определяется code review, если здание отправлено на проверку.

Инструкция:

Реализуйте функцию best_hand, которая принимает на вход покерную "руку" (hand) из 7ми карт и возвращает лучшую (относительно значения, возвращаемого hand_rank) "руку" из 5ти карт. У каждой карты есть масть(suit) и ранг(rank)

Масти: трефы(clubs, C), пики(spades, S), червы(hearts, H), бубны(diamonds, D)

Ранги: 2, 3, 4, 5, 6, 7, 8, 9, 10 (ten, T), валет (jack, J), дама (queen, Q), король (king, K), туз (ace, A)

Например: AS - туз пик (ace of spades), TH - дестяка черв (ten of hearts), 3C - тройка треф (three of clubs)

Задание со *

Реализуйте функцию best_wild_hand, которая принимает на вход покерную "руку" (hand) из 7ми карт и возвращает лучшую (относительно значения, возвращаемого hand_rank) "руку" из 5ти карт. Кроме прочего в данном варианте "рука" может включать джокера. Джокеры могут заменить карту любой масти и ранга того же цвета, в колоде два джокерва. Черный джокер '?B' может быть использован в качестве треф или пик любого ранга, красный джокер '?R' - в качестве черв и бубен любого ранга.

Одна функция уже реализована, сигнатуры и описания других даны. Вам наверняка пригодится itertools. Можно свободно определять свои функции и т.п.

Requirement

Python >=3.6

Tests

Module tests.py contains unit tests. You can run it by typing:


$ python utest_poker.py

otus_python_01_poker's People

Contributors

manchos avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.