Ендрю Дж. Холт

спалені

Дикий біг

Давайте побудуємо швидку програму для розрахунку вашого максимального аеробного пульсу та за її допомогою з’ясуємо, скільки калорій ви могли б спалити, якщо б підтримували їх протягом усього наступного бігу. (Спойлер: Ти не буде і ти також не повинен, ви будете нашкодити собі.) Ми також визначимо безпечний діапазон і підрахуємо, скільки калорій ви також можете спалити за цієї умови.

Я щиро сподіваюся, що ви вирішите їсти пиріг у оточенні своїх друзів та сім'ї в цей святковий сезон, а не думати про гіпотетичні калорії.

Частота серцевих скорочень за методологією 180

  • Почніть з базової лінії 180 ударів на хвилину (уд ​​/ хв)
  • Відніміть свій вік від базового рівня.
  • Відніміть додаткові 10, якщо у вас серйозна хвороба або травма, для кожного стану.
  • Відніміть додаткові 5, якщо у вас була незначна хвороба або травма, для кожного стану
  • Якщо ви тренуєтесь щонайменше 2 роки, додайте 5.

Програмовий підхід

Частина I - Частота серцевих скорочень:

У першій частині ми створимо метод опитувальника для заповнення атрибутів екземпляра об’єкта класу, що представляє профіль особи, а потім використовуємо вищезазначені «Правила» для визначення максимального аеробного пульсу та подальшого «безпечного» частота пульсу.

Частина II - Калорії:

Потім у частині II ми побудуємо другу анкету, щоб заповнити екземпляр об’єкта класу, щоб розрахувати загальний загальний калорійний опік, якого ви могли б досягти, якщо б ви могли підтримувати свій піковий рівень активності.

* Джерело зображення: https://peterdewit.wordpress.com/tag/heartbeat/

Ми почнемо з визначення методу, щоб процедурно викликати нашу підмножину методів запитання для збору інформації про вас, наш користувач.

Структура анкети

Використовується для організації етапу введення користувачем програми, збирає цілий вік, логічні відповіді на питання про хворобу/травму та ціле число років попереднього аеробного тренування.

Компоненти опитувальника - Максимальний пульс

Давайте детальніше розглянемо окремі методи, що описуються в анкеті.

Вік - ask_age ()

Приклад: 18 років

Перевірте крайні випадки нечислового, 0 або від'ємного віку, запит на введення циклу, якщо недійсний. Повернути цілий вік користувача.

Основне захворювання - ask_maj_ill ()

Приклад: Хвороби серця

Перевірте крайові випадки не-"так"/"ні" введення, запит на введення циклу, якщо недійсний. Повернути логічну відповідь.

Основна травма - ask_maj_inj ()

Приклад: операція на серці

Перевірте крайові випадки не-"так"/"ні" введення, запит на введення циклу, якщо недійсний. Повернути логічну відповідь.

Незначне захворювання - ask_min_ill ()

Перевірте крайові випадки не-"так"/"ні" введення, запит на введення циклу, якщо недійсний. Повернути логічну відповідь.

Незначна травма - ask_min_inj ()

Приклад: Стара спортивна травма

Перевірте крайові випадки не-"так"/"ні" введення, запит на введення циклу, якщо недійсний. Повернути логічну відповідь.

Навчальний досвід - ask_exp ()

Приклад: Послідовна кардіопрограма у роках

Перевірте крайні випадки нечислового, 0 або негативного навчання, запит на введення циклу, якщо він недійсний. Перевірте, чи виконуються умови навчання років> = 2, щоб отримати бонус +5. Повернути логічне значення навчання користувача.

Клас «Бігун»

Конструктор класу бігунів

Методи класу бігунів

Обчисліть загальний бал

Застосовує умовну логіку „180 правил” із використанням екземпляра об’єкта Runner, заповненого анкетою Max Heart Rate через альтернативу Python Switch-Case. Ми створимо словник відповідей користувачів, а потім проведемо ітерацію над k, v парами, щоб підсумувати значення в бал, який ми використаємо на наступному кроці.

Розрахуйте максимальну частоту серцевих скорочень

Використовуйте результат score () для обчислення максимального аеробного пульсу користувача. На попередньому кроці ми розрахували загальний бал, тепер ми використаємо цей метод, щоб збільшити початкове значення 180 до індивідуального значення bpm для користувача.

Розрахуйте безпечний пульс

Тепер, коли ми знаємо наш максимальний пульс, ми можемо використовувати його для створення більш безпечного пульсу, надрукувавши та повернувши 80% від нашого максимального. Або ж ми могли б просто розрахувати 0,8 * максимум пізніше на етапі спалювання калорій, що ми також зробимо.

Інтерфейс командного рядка:

Приклад: 18, ідеальне здоров’я, 2 роки попереднього навчання.

Обчисліть калорії, спалені при максимальному пульсі

Тепер, коли ми розрахували наш максимальний пульс, давайте використаємо його, щоб з’ясувати, скільки калорій ми могли б спалити, підтримуючи свій піковий рівень.

Компоненти анкети: Калорії

Вага - ask_weight () Приклад: 170 фунтів

Перевірте випадки ребер нецілого, 0 або від'ємного ваги, введення циклу, якщо недійсне. Повернути цілу вагу користувача.

Тривалість вправи - ask_duration ()

Приклад: 30 хвилин

Перевірте випадки ребер нечислового, 0 або від'ємної тривалості, введення циклу, якщо недійсне. Повернути тривалість плаваючої вправи користувача.

Секс - ask_sex ()

Перевірте крайні випадки вводу, що не стосується «чоловічої статі»/«жіночої статі», якщо недійсний цикл. Повернути рядок відповіді сексуальної категорії.

Конструктор калорій

Розрахунок калорій - чоловічий

Вік, вага, час (тривалість), год (пульс)

Розрахунок калорій - жіночий

Вік, вага, час (тривалість), год (пульс)