Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 8, 2021 16:10:26

Angel_1421
Зарегистрирован: 2021-06-08
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

Добрый день!

Дана задача со следующими условиями:

Фитнес браслет

У вас есть фитнес браслет, который отслеживает сколько вы прошли за день шагов, съели калорий и просмеялись минут.

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

Sample Input:

{“Monday”:{“steps”:13000, “calories”:2700, “laugh”:10}}
Sample Output:

<p> Monday </p>
<p> Сегодня вы прошли: 13000 шагов </p>
<p> Сегодня вы съели: 2700 калорий </p>
<p> Сегодня вы смеялись: 10 минут </p>


Я написал следующий код:

{% for day in bracelet_data.keys() %}
<p>{{day}}</p>{% for value in bracelet_data.values() %}
{% for data in value.values() %}
<p>Сегодня вы прошли: {{data}} шагов</p>
{% endfor %}
{% endfor %}
{% endfor %}

В результате выводится:

<p>Monday</p>

<p>Сегодня вы прошли: 13000 шагов</p>

<p>Сегодня вы прошли: 2700 шагов</p>

<p>Сегодня вы прошли: 10 шагов</p>

Помогите разобраться, как правильно написать, чтобы во второй и третьей строке выводилась верная информация? Всю голову себе сломал…

Заранее спасибо!

Вторая задача выглядит так:

Реализуйте класс PiggyBank, который представляет собой олдскульную копилку в форме свиньи. Он имеет два атрибута, доллары (dollars) и центы (cents), и их начальные значения передаются в конструктор.

Создайте метод add_money с двумя параметрами deposit_dollars и deposit_cents, который увеличивает сумму денег в копилке. Например, если вы положили в копилку меньше доллара, значение deposit_dollars равно 0. Метод не должен ничего печатать!

Параметры deposit_dollars и deposit_cents метода add_money могут иметь любое значение, но значение центов в копилке после добавления не может превышать 99! Если значение deposit_cents после добавления больше 99, вам необходимо обновить как значение в долларах, так и значение в центах!

Подсказка: вы можете использовать оператор целочисленного деления и деления с остатком!

Написал код:

class PiggyBank:
def __init__(self, dollars, cents):
self.dollars = dollars
self.cents = cents
self.money = 0
def add_money(self, deposit_dollars, deposit_cents):
self.dollars = self.money + deposit_dollars
if self.money + deposit_cents <= 99:
self.cents += deposit_cents
else:
coin1 = (self.money + deposit_cents) // 100
coinn2 = (self.money + deposit_cents) % 100
self.dollars = self.money + coin1
self.centc = self.money + coin2

При запуске выдаёт ошибку. Что нужно исправить?

Отредактировано Angel_1421 (Июнь 8, 2021 16:13:13)

Офлайн

#2 Июнь 8, 2021 17:11:00

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

Angel_1421
При запуске выдаёт ошибку. Что нужно исправить?
а что именно за ошибку оно выдает вам религия не позволяет указать?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#3 Июнь 8, 2021 17:21:47

Angel_1421
Зарегистрирован: 2021-06-08
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

Там свой встроенный модуль проверки. Просто пишет Wrong answer и всё

Офлайн

#4 Июнь 9, 2021 07:59:02

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

а что за шаблон у вас в первой задаче django?
https://django-tutorial.blogspot.com/2012/08/django-templates.html

С каждым циклом {% for %} вы получаете доступ к специальной переменной, называемой forloop. Эта переменная содержит несколько атрибутов, которые дают вам информацию о состоянии цикла в данный момент:
forloop.counter хранит число шагов уже пройденных циклом. Отсчет начинается с 1, то есть с начала цикла значение forloop.counter изменится с 0 на 1.

Для примера:

{% for item in todo_list %}
<p>{{ forloop.counter }}: {{ item }}</p>
{% endfor %}

Тэг {% if %} принимает так же значения and, or, or not для проверки сразу нескольких переменных.



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Июнь 9, 2021 08:18:23)

Офлайн

#5 Июнь 9, 2021 09:34:31

Angel_1421
Зарегистрирован: 2021-06-08
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

Это Jinja

Офлайн

#6 Июнь 9, 2021 13:00:39

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

Angel_1421
так у вас там в __init__ накойто ляд self.money =0
и потом в add_money()
if self.money + deposit_cents <= 99:
вместо
if self.cents + deposit_cents <= 99:
ну и дальше все в том же духе.
self.money там вообще как пятое колесо для рыбы.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июнь 9, 2021 13:09:57)

Офлайн

#7 Июнь 9, 2021 13:48:36

Angel_1421
Зарегистрирован: 2021-06-08
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

Исправил.

class PiggyBank:
def __init__(self, dollars, cents):
self.dollars = dollars
self.cents = cents
def add_money(self, deposit_dollars, deposit_cents):
self.dollars = self.dollars + deposit_dollars
if self.cents + deposit_cents <= 99:
self.cents += deposit_cents
else:
coin1 = (self.cents + deposit_cents) // 100
coin2 = (self.cents + deposit_cents) % 100
self.dollars = self.dollars + coin1
self.cents = self.cents + coin2

Все равно не работает

Офлайн

#8 Июнь 9, 2021 17:37:45

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

 self.cents = self.cents + coin2
серьезно?
а может всеже
 self.cents = coin2



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июнь 9, 2021 17:38:22)

Офлайн

#9 Июнь 9, 2021 17:53:17

Angel_1421
Зарегистрирован: 2021-06-08
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

Все равно не работает

Офлайн

#10 Июнь 10, 2021 09:36:12

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите с решением двух задач, пожалуйста

Angel_1421 А вот тут ХЗ, должно работать, но чтобы понимать что там за ошибка нужно видеть что ооно там передает и что проверяет.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Июнь 10, 2021 09:36:38)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version