Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 22, 2013 22:04:30

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

Нужен совет по решению задачи (ООП)

Нужно два класса. Карта и колода. Свойство карты - масть, значение, имя. Свойство колоды - список карт. Методы колоды - перетасовать, переинициализироваться. Первый метод вызывает random.shuffle на списке карт. Второй очищает список и делает вот ту страшную магию по созданию нового.



Офлайн

#2 Янв. 22, 2013 22:18:47

nickmetal
Зарегистрирован: 2012-11-15
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужен совет по решению задачи (ООП)

а что значит переинициализироваться?) В данном контексте не понял, что это значит

Офлайн

#3 Янв. 22, 2013 22:24:16

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

Нужен совет по решению задачи (ООП)

У колоды должен быть метод который сгенерит список кард и сохранит их. Сейчас ты делаешь это одной строкой, которая не привязана ни к каком классу. Есть возможность вынести ее в класс.



Офлайн

#4 Янв. 31, 2013 21:33:33

nickmetal
Зарегистрирован: 2012-11-15
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужен совет по решению задачи (ООП)

шаманил я шаманил, так ничего и не вышло. Я, видимо, не совсем правильно понял ООП- подход.
Вот строю я эти классы-методы. Пишу для IDLE, без интерфейса. Хочу только чтобы в процессе выполнения програма показывала мне инфу о картах и спрашивала ввода ( ну хода моего грубо говоря)
Но я вот не могу создать такой класс и такой обьект, чтобы так происходило. А если вводить всякие условные блоки с if когда я получу, к примеру, свои карты, то это уже будет не ооп а функциональный подход. Скажите, в чем я ошибаюсь, потому что прочитал в книгах про ООП все элементарные программы понимаю. А на своем примере применить не получается

Офлайн

#5 Янв. 31, 2013 21:50:49

truporez
От:
Зарегистрирован: 2009-05-08
Сообщения: 266
Репутация: +  6  -
Профиль   Адрес электронной почты  

Нужен совет по решению задачи (ООП)

Начать надо с переименования класса Cards в Card. Если не понимаете ООП, книжки почитайте. С шаблонами проектирования тоже не лишне ознакомиться.

А так только больше запутаетесь. И вообще, зачем вам ООП, заведите себе список кортежей(масть, старшенство) и тасуйте его как душа пожелает.

Кстати, подход, о котором вы говорите, будет не функциональный, а процедурный.



Офлайн

#6 Янв. 31, 2013 22:44:53

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

Нужен совет по решению задачи (ООП)

Продолжай, не останавливайся :) Попробуй сменить задачу. Сделать перерыв пару дней и вернуться к ней. Нужно накопить какое-то критическое количество материала, подходов, взглядов с разных позиций на разные задачи, чтобы мозг наконец сложил эту мозаику и вычленил главные моменты. Как и в любом деле нужно нарабатывать опыт. Если появляются сомнения и вопросы, то читать, спрашивать. Первый этап всегда самый медленный и сложный, важно переломить и перешагнуть его.



Офлайн

#7 Март 2, 2013 18:58:07

nickmetal
Зарегистрирован: 2012-11-15
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужен совет по решению задачи (ООП)

Продолжаю мучить эту программу Решил проверить как часть кода работает на Убунту. Во всех ИДЕ, кроме стандартного выдает такие вот непонятные символы:



хотя в начале кода я добавил строки

#!/usr/bin/python
# -*- coding: utf-8 -*-

вот что должно выводить



Подскажите, пожалуйста, из-за чего это может быть?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version