hw_python_oop
.hw_python_oop
лежит пустая заготовка кода и набор автоматических тестов.Скопировать код└── hw_python_oop ├── tests │ ├── fixtures │ │ ├── fixture_data.py │ │ └── fixture_msg.py │ ├── conftest.py │ └── test_homework.py ├── .gitignore ├── homework.py # пишите код в этом файле ├── pytest.ini ├── requirements.txt └── setup.cfg
Скопировать код└── hw_python_oop ├── tests/ ├── venv/ <-- Новая папка с виртуальным окружением ├── .gitignore ├── homework.py ├── pytest.ini ├── requirements.txt └── setup.cfg
hw_python_oop
(команды git add .
, git commit -m 'текст коммита'
и git push
). После этого нажмите кнопку «Проверить задание».add_record()
get_today_stats()
get_today_cash_remained(currency)
get_week_stats()
add_record()
get_today_stats()
get_calories_remained()
get_week_stats()
limit
(дневной лимит трат/калорий, который задал пользователь). В
конструкторе создайте пустой список, в котором потом будут храниться
записи (назовите его records
).amount
(денежная сумма или количество килокалорий),date
(передаётся в явном виде в конструктор, либо присваивается значение по умолчанию — текущая дата),comment
, поясняющий, на что потрачены деньги или откуда взялись калории.Скопировать кодPYTHON# для CashCalculator
r1 = Record(amount=145, comment='Безудержный шопинг', date='08.03.2019')
r2 = Record(amount=1568,
comment='Наполнение потребительской корзины',
date='09.03.2019')
r3 = Record(amount=691, comment='Катание на такси', date='08.03.2019')
# для CaloriesCalculator
r4 = Record(amount=1186,
comment='Кусок тортика. И ещё один.',
date='24.02.2019')
r5 = Record(amount=84, comment='Йогурт.', date='23.02.2019')
r6 = Record(amount=1140, comment='Баночка чипсов.', date='24.02.2019')
get_calories_remained()
калькулятора калорий должен возвращать ответ limit
не достигнут,get_today_cash_remained(currency)
денежного калькулятора должен принимать на вход код валюты: одну из строк "rub"
, "usd"
или "eur"
.limit
не достигнут,USD_RATE
и EURO_RATE
, прямо в теле класса CashCalculator.
Какой курс вы укажете — не так важно, выберите любой, похожий на
правду. Значения обменного курса можно посмотреть, например, на главной
странице Яндекса https://yandex.ru.add_record()
в качестве аргумента принимает объект класса Record и сохраняет его в списке records
.datetime.date
и функция dt.datetime.now()
, которая возвращает текущую дату.datetime
из бесплатного курса по Python :)Скопировать кодPYTHONimport datetime as dt
date_format = '%d.%m.%Y'
moment = dt.datetime.strptime('16.12.2019', date_format)
print(moment)
# напечатает что-то вроде 2019-12-16 00:00:00
day = moment.date()
print(day)
# напечатает дату: 2019-12-16
now = dt.datetime.now()
print(now)
# напечатает время на текущий момент в формате: 2019-01-31 13:33:27.506227
print(now.date())
# напечатает текущую дату: 2019-01-31
Скопировать кодPYTHONimport datetime as dt
class Record:
...
class Calculator:
...
class CaloriesCalculator:
...
class CashCalculator:
...
# создадим калькулятор денег с дневным лимитом 1000
cash_calculator = CashCalculator(1000)
# дата в параметрах не указана,
# так что по умолчанию к записи
# должна автоматически добавиться сегодняшняя дата
cash_calculator.add_record(Record(amount=145, comment='кофе'))
# и к этой записи тоже дата должна добавиться автоматически
cash_calculator.add_record(Record(amount=300, comment='Серёге за обед'))
# а тут пользователь указал дату, сохраняем её
cash_calculator.add_record(Record(amount=3000,
comment='бар в Танин др',
date='08.11.2019'))
print(cash_calculator.get_today_cash_remained('rub'))
# должно напечататься
# На сегодня осталось 555 руб
Здравствуйте, Александр!
Уточните, пожалуйста, вы пытаетесь совершить первую оплату?
Александр, первую оплату вы совершаете самостоятельно. После оплаты первого платёжа привязывается карта, с которой автоматически спишутся следующие, раз в 30 дней. Мы сможем помочь списать только следующие оплаты, если будут возникать трудности.
Если нужна помощь, пишите — во всём разберёмся вместе :)
Александр, выбранный вами курс стартует 16 августа, вероятнее всего, срок оплаты будет продлён до 15 августа :)
Дайте знать, если можем ещё чем-либо помочь:)
Александр, вероятнее всего, срок оплаты будет продлём до 15 августа, если до этого времени не будет набран поток :)
Не переживайте, если вы оплатите на следующей неделе, вы будете зачислены в поток :)
Александр, если вы оплатите курс на следующей неделе, ты вы попадете в ближайший поток :)
Так и есть, но место для вас найдётся :) Остались ли у вас ещё какие-то вопросы ?
Добрый день, Александр!
Для оплаты обучения, перейдите в свой профиль: https://praktikum.yandex.ru, выберите профессию, которую планируете изучать, далее нажмите на кнопку вверху «Купить полную программу», выберите подходящий вам способ оплаты и следуйте инструкциям системы.
Если возникнут вопросы — обязательно пишите :)
Подскажите, вы оплачиваете курс картой банка РФ или иностранного банка?
Уточните,
пожалуйста, почту из вашего аккаунта в Практикум, выбранный курс и
способ оплаты (ежемесячными платежами или полностью) — пришлём ссылку
для оплаты и запишем в группу.
При оплате ежемесячными платежами мы будем формировать новую ссылку каждый месяц и присылать также в письме.
Если вы не против, уточните, пожалуйста, страну вашего проживания — стараемся расширять географию оплаты на сайте и хотим понимать, куда двигаться :)
Александр, отправили вам ссылку в отдельном письме. После оплаты придёт кассовый чек, это значит, что всё прошло успешно и мы получили деньги. После оплаты мы включим вас в 5 поток, который стартует 16 августа.
Cумма ежемесячного платежа составит 12 825руб с учетом скидки 5% за подписку Яндекс.Плюс, мы будем присылать вам ссылку на оплату ежемесячно, всего их будет 14, как и месяцев в курсе Python-разработчик Плюс. Оплата по ссылке проводится в российских рублях.
В день старта потока вам придет важное письмо на почту и куратор примет вас на борт.
Удачи в учебе! А если будут вопросы - пишите, мы рядом.
Сейчас мы пришлем вам новую ссылку с учетом промокода SECOND :)
Александр, первую ссылку мы деактивировали, стоимость обучения для вас составит 11475руб в месяц вместо 13500руб с учетом скидки 15% (5% за Плюс + 10% по промокоду SECOND). Всего будет, как писали ранее, 14 ссылок, и итоговая стоимость курса для вас составит 160 650руб вместо обычных 189 000руб :)
Здравствуйте, Александр!
Наш специалист напишет вам утром и вы во всём разберётесь, хорошо ?:)
Грустить осталось недолго :)
Александр, наши коллеги работают по будням с 10 до 19 :)
Ожидайте, пожалуйста 🌿
Александр, добрый день,
Оплата по ссылке прошла успешно. В течение дня статус оплаты в личном кабинете поменяется:)
Мы записали вас в 5 поток, который стартует 16 августа. В личном кабинете у вас не должно быть ошибки об оплате, проверьте, пожалуйста:)
Обязательно пишите, если у вас появятся вопросы до старта:)
Здравствуйте, Александр!
Пришлите, пожалуйста, ссылку на ваш код, записанный на сайте https://pastebin.com/ и ссылку на саму задачу — посмотрим, в чём там дело :)
Подождём :) Что-то не так ?
Такое бывает :) Если понадобится наша помощь — напишите, мы тут как тут.
Давайте обратимся к теории задания :) Вот код, который можно там найти
return render(request, 'homepage/homepage.html', context)
Нашли свою ошибку ?
С синтаксисом нужно быть осторожным; то, что вы написали, по факту не совсем правильно :) В прекоде есть такая строчка
Как вернуть из view-функции функцию render? Вот так: `return render(аргументы-аргументы-аргументы)
А вы записали
аргументы-аргументы-аргументы=аргументы
Остались ли у вас ещё какие-то вопросы ?
Рады были помочь :)
Здравствуйте, Александр! Обновите, пожалуйста, сейчас страницу курса. Всё должно встать на свои места.
А
так, уже заканчиваем последние приготовления. В течение дня по
московскому времени откроется доступ к платной части, сперва мы
познакомимся, а в Slack куратор подробнее расскажет про то, что будет
дальше. Приглашение в Slack направим на почту — иногда оно попадает в
папки Спам или Рассылки, советуем поглядывать и туда.
Уточните, пожалуйста, вы указывали новую почту для приглашения в slack или ту же, что используете на другом курсе?
Там сейчас у вас только каналы для профессии Python-разработчик , а других каналов, которые были нет, правильно понимаем?
Хорошо, спасибо! Уточним вопрос у коллег и вернёмся к вам с ответом :)
С вами свяжется куратор и добавит в нужные каналы.
Дайте знать, если ещё чем-то можем вам помочь :)
Сейчас куратор напишет в новом аккаунте :)
Здравствуйте!
Также, просим проверить, что в личном кабинете Яндекс Паспорта https://passport.yandex.ru/ привязана карта, с которой необходимо совершить оплату.
Если карта не привязана, просим привязать её и сообщить нам 4 последние цифры карты.
Отправили запрос на списание, если всё пройдёт успешно, то в течение 10-15 минут денежные средства спишутся, вам на почту придёт чек о списании и статус в профиле изменится. Дайте знать, если этого не произойдёт.
Здравствуйте!
Александр, уточните, пожалуйста, ваш логин в Практикуме — alexander.borovtsoff@yandex.by? Не могли бы также уточнить, когда вы в последний раз оплачивали курс Аналитик данных?
Александр, уточните, пожалуйста, последние 4 цифры вашей карточки, привязана ли она к вашему аккаунту? Также, пожалуйста, убедитесь, что у вас на карте достаточно средств для проведения платежа — оплатить необходимо 13000 рублей.
Александр, провели платёж — уточните, пожалуйста, списались ли средства теперь? :)