6.2 KiB
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5e44412c903586ffb414c94c | Арифметичне форматування | 10 | 462359 | arithmetic-formatter |
--description--
Ви маєте виконати цей проєкт за допомогою нашого стартового коду Replit.
Ми й досі в процесі розробки інтерактивної складової навчального курсу Python. Наразі можете ознайомитись із наступними відео на YouTube каналі freeCodeCamp.org. У них ви знайдете все необхідне для завершення цього проєкту:
- Python for Everybody Video Course (14 годин)
- Learn Python Video Course (10 години)
--instructions--
У початковій школі школярів вчать вирішувати арифметичні приклади вертикально, бо це легше. Наприклад, "235 + 52" перетворюється на:
235
+ 52
-----
Створіть функцію, яка отримує список рядків з арифметичними завданнями та вводить їх послідовно у вертикальному вигляді. Функція повинна при необхідності брати другий аргумент. Коли другий аргумент встановлено на True
, відповіді повинні відображатися.
Приклад
Виклик функції:
arithmetic_arranger(["32 + 698", "3801 - 2", "45 + 43", "123 + 49"])
Виведення:
32 3801 45 123
+ 698 - 2 + 43 + 49
----- ------ ---- -----
Виклик функції:
arithmetic_arranger(["32 + 8", "1 - 3801", "9999 + 9999", "523 - 49"], True)
Виведення:
32 1 9999 523
+ 8 - 3801 + 9999 - 49
---- ------ ------ -----
40 -3800 19998 474
Правила
Функція повернеться до правильного перетворення якщо наявні завдання відформатовані належним чином, в протилежному випадку, це буде return string, що описує помилку, яка має велике значення для користувача.
- Ситуації, які приводять до помилки:
- Якщо ** забагато завдань ** з'являються для функції. Ліміт five, що-небудь ще повернеться:
Error: Забагато завдань.
- Відповідні оператори, які приймають функцію addition and subtraction. Множення і ділення породжує помилку. Інші оператори, які не згадані у цій точці, тестовані не будуть. Отримана помилка буде:
Error: Оператор повинен бути '+' або '-'.
- Кожне число (операнд) повинен містити лише цифри. В іншому випадку, функція буде така:
Error: Числа повинні містити тільки цифри.
- Кожен операнд (також номер один з кожної сторони оператора) максимум може мати по чотири цифри по ширині. В іншому випадку, помилковий рядок видасть наступне:
Error: Числа не можуть бути більше чотирьох цифр.
- Якщо ** забагато завдань ** з'являються для функції. Ліміт five, що-небудь ще повернеться:
- Якщо користувач подбав про правильний формат проблем, то перетворення буде слідувати наступним правилам:
- Повинен бути лише один пробіл між оператором і найдовшим із двох операндів, оператор буде на тому ж рядку, що й другий операнд, обоє операндів будуть в однаковому порядку, як і надано (перший буде зверху, а другий - знизу).
- Числа повинні бути вирівняні справа.
- Має бути чотири пробіли між кожним завданням.
- У нижній частині кожного завдання мають бути тире. Тире повинні йти по всій довжині кожного завдання індивідуально. (Приклад вище показує, як це повинно виглядати.)
Розробка
Напишіть свій код на arithmetic_arranger.py
. Для розробки, ви можете використати main.py
, щоб перевірити вашу функцію arithmetic_arranger()
. Натисніть кнопку "run" і main.py
запуститься.
Тестування
Розділи з тестами для цього проєкту знаходяться в test_module.py
. Ми запускаємо тести з test_module.py
в main.py
для вашої зручності. Тести запустяться автоматично кожного разу, коли ви натиснете клавішу "run". Як альтернатива, ви можете запустити тести, ввівши у консолях pytest
.
Надіслати
Скопіюйте URL-адресу вашого проєкту та відправте його.
--hints--
Функція повинна правильно відформатувати арифметичні проблеми та пройти тестування.
--solutions--
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/