Форум сайта python.su
							
  0  
								
								Добрый день! 
Дана задача со следующими условиями:
Фитнес браслет
У вас есть фитнес браслет, который отслеживает сколько вы прошли за день шагов, съели калорий и просмеялись минут.
Вам нужно написать код, который бы выводил за каждый день эти данные. Все данные находятся в словаре 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)
Офлайн
							
  294  
								
								Angel_1421а что именно за ошибку оно выдает вам религия не позволяет указать?
При запуске выдаёт ошибку. Что нужно исправить?
[code python][/code]
Офлайн
							
  0  
								
								Там свой встроенный модуль проверки. Просто пишет Wrong answer и всё
Офлайн
							
  44  
								
								а что за шаблон у вас в первой задаче 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 для проверки сразу нескольких переменных.
 
  и вставьте  ссылку на его url Отредактировано AD0DE412 (Июнь 9, 2021 08:18:23)
Офлайн
							
  0  
								
								Это Jinja
Офлайн
							
  294  
								
								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)
Офлайн
							
  0  
								
								Исправил.
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
Все равно не работает
Офлайн
							
  294  
								
								self.cents = self.cents + coin2
self.cents = coin2
[code python][/code]
Отредактировано PEHDOM (Июнь 9, 2021 17:38:22)
Офлайн
							
  0  
								
								Все равно не работает
Офлайн
							
  294  
								
								Angel_1421 А вот тут ХЗ, должно работать, но чтобы понимать что там за ошибка нужно видеть что ооно там передает и что проверяет.
[code python][/code]
Отредактировано PEHDOM (Июнь 10, 2021 09:36:38)
Офлайн