Задать вопрос
@FraNkliN70

Как решить задачу «камень-ножницы-бумага»?

Код из основного класса мы вам предоставляем, он находиться ниже:
# Импорт файлов и классов из них
from variants import Variants
from player import Player

# Создаем объекты на основе класса Player
bot = Player()

# При создании можем не передавать значения или же
# можем передать выбор (камень, ножницы или бумага), а также имя
alex = Player(Variants.SCISSORS, "Alex")

# далее через объект можем обратить к функции whoWins
# и мы узнаем кто победил
print(bot.whoWins(bot, alex))

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

Далее создайте класс Player, в котором должны быть реализованы следующие моменты:

конструктор для установки варианта выбора, а также имени. В конструкторе должны быть значения по-умолчанию. Они будут установлены, если при создании объекта не были переданы параметры;функция whoWins, которая принимает два объекта и возвращает либо строку «Ничья», либо информацию про игрока, который победил
Попытка решения
class Variants(Enum):
    ROCK = 1,
    PAPER = 2
    SCISSORS = 3
class Player:
    bot = Player
    alex = Player = Player(Variants.SCISSORS, "Alex")
    def __init__(self, ROCK, PAPER, SCISSORS):
        pass
  • Вопрос задан
  • 328 просмотров
Подписаться 2 Простой 6 комментариев
Решения вопроса 1
snaiper04ek
@snaiper04ek
Не стреляйте в эникея, он админит как умеет
Когда поймал клин в голове, бери бумажку, и пиши задание по-русски на листочек, структурно.

В данной задаче:

В классе Player должны быть:
-Конструктор для установки выбора варианта и имени
-Значения для конструктора по умолчанию
-Функция WhoWins принимающая два объекта, и возвращающая строку: "имя победителя" или "ничья".


Читаешь что написал, сравниваешь со своим кодом, ищешь разницу, устраняешь разницу.
По одному пункту решай за раз, и делай короткие перерывы каждые 30-40 минут. Удачи.

Доп литература: Enum, Классы
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы