Last active
December 19, 2024 19:37
-
-
Save Ruthenus/36ab9109fd91325638ce7b3adce822c3 to your computer and use it in GitHub Desktop.
Week 2 Homework in IT STEP Academy (variables tasks)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Складні задачі з обробкою даних | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ IV.1\n') | |
# Розрахувати загальну масу всіх планет Сонячної системи. Обчислити | |
# середнє арифметичне мас планет. Потім — масу кожної планети в | |
# процентному співвідношенні, якщо взяти за 100% загальну масу всіх | |
# планет. У скільки разів маса найбільшої планети більша, ніж сума мас | |
# усіх інших планет? Усі результати — показати на екрані. | |
# РОЗВ'ЯЗОК БЕЗ ЗАСТОСУВАННЯ СПИСКУ АБО СЛОВНИКА! | |
# Маси планет — з англомовної Вікіпедії: | |
mercurius = 3.3011E+23 #kg | |
venus = 4.8675E+24 #kg | |
tellus = 5.972168E+24 #kg | |
mars = 6.4171E+23 #kg | |
iuppiter = 1.8982E+27 #kg | |
saturnus = 5.6834E+26 #kg | |
uranus = 8.6810E+25 #kg | |
neptunus = 1.02409E+26 #kg | |
# У 2006 році Міжнародний астрономічний союз офіційно перевизначив | |
# термін планета, щоб виключити карликові планети, такі як як Плутон. | |
# Загальна маса всіх планет: | |
mass_sum = (mercurius + venus + tellus + mars + iuppiter + saturnus | |
+ uranus + neptunus) | |
# Маса найбільшої планети: | |
mass_max = max(mercurius, venus, tellus, mars, iuppiter, saturnus, | |
uranus, neptunus) | |
# Сума мас усіх інших планет, окрім найбільшої: | |
mass_others = mass_sum - mass_max | |
print(f"Обчислюємо середнє арифметичне мас планет: {int(mass_sum/8)} кг.") | |
print("Найближчий до Сонця Меркурій важить лише " | |
+ f"{mercurius/mass_sum*100:.3f}% загальної маси.") | |
print("Планета Венера, найбільш схожа на Землю, має " | |
+ f"{venus/mass_sum*100:.3f}% загальної маси.") | |
print(f"Отже, маса планети Земля становить {tellus/mass_sum*100:.3f}%" | |
+ " загальної маси.") | |
print("Маса решти планет Сонячної системи відносно загальної маси:") | |
print(f"\tМарс — {mars/mass_sum*100:.3f}%,") | |
print(f"\tЮпітер — {iuppiter/mass_sum*100:.1f}%,") | |
print(f"\tСатурн — {saturnus/mass_sum*100:.1f}%,") | |
print(f"\tУран — {uranus/mass_sum*100:.2f}%,") | |
print(f"\tНептун — {neptunus/mass_sum*100:.2f}%.") | |
print(f"Юпітер, найбільша планета, важить у {mass_max/mass_others:.1f}" | |
+ " рази більше усіх інших планет разом узятих.") | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ IV.2\n') | |
# Ввести довжину, ширину та висоту кімнати. Підрахувати, скільки фарби | |
# піде на фарбування стін цієї кімнати, якщо на 1 м² стіни припадає N | |
# літрів фарби і M% поверхні стін займають вікна та двері. | |
# Розрахувати загальну вартість фарби, враховуючи, що один літр фарби | |
# коштує R гривень. | |
length = float(input("Будь ласка, введіть довжину кімнати у метрах: ")) | |
width = float(input("Введіть ширину кімнати, м: ")) | |
height = float(input("Введіть висоту кімнати, м: ")) | |
m = input("Який приблизно відсоток поверхні стін займають вікна і двері?: ") | |
m = int(m) | |
# Фарба Інтер'єрна Латексна Skyline 0603-Y20R Вершковий 10 л | |
# https://rozetka.com.ua/ua/skyline_1840180615_rozetka/p386912958/ | |
# Витрата 100-150 мл/м2 | |
n = 0.250 # у разі фарбування у 2 шари | |
r = float(input("Вартість фарби з вашою знижкою, ₴: ")) # 1796₴ за 10 л | |
r = r/10 # позначення R гривень вартості 1 л фарби за умовою задачі | |
# Площа поверхні стін без вікон та дверей: | |
wall_surface = 2 * (length+width) * height * (1 - m/100) | |
# Потрібна кількість фарби: | |
amount = wall_surface * n | |
# Загальна вартість фарби: | |
cost = r * amount | |
print(f"Щоб пофарбувати стіни кімнати, вам потрібно {amount:.1f} л " + | |
f"фарби загальною вартістю {cost:.2f} гривень.") | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
# Завдання на роботу з числами та рядками | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ III.1\n') | |
# Ввести з клавіатури два тризначних числа та | |
# поміняти у них середні цифри. | |
number_one = input("Введіть перше ціле число від 100 до 999: ").strip() | |
# видалили можливі зайві пробіли! | |
try: | |
# спробуємо виокремити тризначне число в разі помилки користувача: | |
number_one = int(number_one[0:3]) | |
except ValueError: | |
print("ПОМИЛКА: введено текст або дробове число!") | |
number_one = str(number_one) | |
number_two = input("Введіть друге ціле число від 100 до 999: ").strip() | |
try: | |
number_two = int(number_two[0:3]) | |
except ValueError: | |
print("ПОМИЛКА: введено текст або дробове число!") | |
number_two = str(number_two) | |
new_number_one = number_one[0] + number_two[1] + number_one[2] | |
new_number_two = number_two[0] + number_one[1] + number_two[2] | |
print(f"РЕЗУЛЬТАТ: {new_number_one} & {new_number_two}") | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ III.2\n') | |
# Ввести чотиризначне число і підрахувати суму першої та третьої цифри | |
# та різницю між другою та четвертою цифрою. | |
number = input("Введіть ціле число від 1000 до 9999: ").strip() | |
try: | |
number = number[0:4] | |
sum_1_3 = int(number[0]) + int(number[2]) | |
dif_2_4 = int(number[1]) - int(number[3]) | |
print(f"Сума першої та третьої цифр дорівнює {sum_1_3}.") | |
print(f"Різниця другої та четвертої цифр дорівнює {dif_2_4}.") | |
except ValueError: | |
print("ПОМИЛКА: введено текст або дробове число!") | |
print('–' * 80 + '\n') | |
""" # ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ III.3\n') | |
# Ввести з клавіатури тризначне число та видалити з нього середню цифру. | |
number = input("Введіть ціле число від 100 до 999: ").strip() | |
try: | |
number = str(int(number[0:3])) | |
print('РЕЗУЛЬТАТ:', number[0:3:2]) # друк цифр через одну | |
except ValueError: | |
print("ПОМИЛКА: введено текст або дробове число!") | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ III.4\n') | |
# Напишіть програму, яка пропонує користувачеві ввести суму грошового | |
# вкладу в гривнях, а також процент річних, які виплачує банк. | |
# Визначити суму грошей, яку виплачуватиме банк вкладникові | |
# кожного місяця. | |
# https://ap-bank.com/news/post/yak-rozrahuvaty-prybutok-vid-depozytu | |
try: | |
deposit = float(input('Розмір гривневого депозиту? ')) | |
rate = float(input('Річна ставка? ')) | |
payment = deposit * (rate/100) / 12 | |
print(f"Ваш щомісячний прибуток складатиме {payment:.2f}₴.") | |
except ValueError: | |
print("ERROR: БУДЬМО УВАЖНІ!") | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ III.6\n') | |
# Ввести з клавіатури тризначне число та «перевернути» його. | |
number = input("Введіть тризначне число: ") | |
# Виконуємо обернення послідовності будь-яких символів: | |
print(number[::-1]) | |
# Python. Довідник програміста/Марк Лутц; пер. з англ. І.В. Красікова. | |
# – Київ.: "Науковий світ", 2024. – С. 30. | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
# Завдання на роботу з числами та обчисленнями | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ II.1\n') | |
# Напишіть програму, яка знаходить середнє арифметичне значення | |
# трьох введених дробових чисел. | |
number_one = float(input("Введіть перше число: ")) | |
number_two = float(input("Введіть друге число: ")) | |
number_three = float(input("Введіть третє число: ")) | |
accuracy = int(input("Кількість знаків після коми в результаті? ")) | |
average = (number_one+number_two+number_three) / 3 | |
print('СЕРЕДНЄ АРИФМЕТИЧНЕ:', round(average, accuracy)) | |
# Функція round() відсікає нулі наприкінці! | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ II.2\n') | |
# Користувач вводить число та ступінь. | |
# Програма обчислює вказану ступінь цього числа. | |
try: | |
number = float(input("Будь ласка, введіть число: ")) | |
power = float(input("До якого ступеня піднести число? ")) | |
accuracy = int(input("Кількість знаків після коми в результаті? ")) | |
result = number ** power | |
print(f"{number}^{power} = {round(result, accuracy)}") | |
except ValueError: | |
print("ЩОСЬ ПІШЛО НЕ ТАК!") | |
# Будь ласка, введіть число: -1 | |
# До якого ступеня піднести число? 0.5 | |
# Кількість знаків після коми в результаті? 5 | |
# Traceback (most recent call last): | |
# File "...Week 2 Homework.py", line 214, in <module> | |
# print(f"{number}^{power} = {round(result, accuracy)}") | |
# ~~~~~^^^^^^^^^^^^^^^^^^ | |
# TypeError: type complex doesn't define __round__ method | |
except TypeError: | |
print(f"{number}^{power} = {result}") | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ II.3\n') | |
# Напишіть програму, яка пропонує користувачеві ввести радіус | |
# окружності, а потім обчислює площу та довжину цієї окружності. | |
# Число Pi задається в програмі як дійсна константа. | |
# Константи зазвичай пишуться великими літерами. | |
PI = 3.1415926535_8979323846_2643383279_5028841971_6939937510_5820974944 | |
radius = float(input("Введіть радіус кола: ")) | |
area_circle = PI * radius ** 2 | |
circumference = 2 * PI * radius | |
print('ПЛОЩА КРУГА:', area_circle) | |
print('ДОВЖИНА КОЛА:', circumference) | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ II.4\n') | |
# Напишіть програму, яка надає користувачеві можливість ввести з | |
# клавіатури кількість гривень і переводить цю кількість у долари, | |
# євро та біткоїни. | |
# https://minfin.com.ua/ua/currency/mb/ | |
usd_uah = 41.69 # продаж 10 грудня | |
eur_uah = 43.8578 # продаж 10 грудня | |
# https://www.binance.com/uk-UA/price/bitcoin/UAH | |
btc_uah = 4_072_426.71 | |
try: | |
money = float(input('UAH: ')) | |
dollars = money / usd_uah | |
print(f"USD: {dollars:.2f}") | |
euros = money / eur_uah | |
print(f"EUR: {euros:.2f}") | |
bitcoins = money / btc_uah | |
print(f"BTC: {bitcoins}") | |
except ValueError: | |
print("СЧИТАЙТЕ ДЕНЬГИ НЕ ОТХОДЯ ОТ КАССЫ!") | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ II.5\n') | |
# Напишіть програму, яка переводить кілометри в сухопутні та | |
# морські милі. | |
# https://uk.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BB%D1%8F | |
# 1 миля (статутна) = 1760 ярдів = 5280 футів = 1609,344 м | |
STATUT_MILE = 1.609344 #km 1 mi | |
# 1 морська миля (чверть) = 1852 м | |
NAUTICAL_MILE = 1.852 #km 1 nmi | |
kilometres = float(input("Скільки кілометрів? ")) | |
statut_miles = kilometres / STATUT_MILE | |
nautical_miles = kilometres / NAUTICAL_MILE | |
print(f"Пане штурмане, {kilometres:.3f} km = {nautical_miles:.3f} nmi = " + | |
f"{statut_miles:.3f} mi.") | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
"""# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ II.6\n') | |
# Поміняти місцями значення змінних a і b, спочатку за допомогою | |
# додаткової третьої змінної, а потім без. | |
a = input("Введіть значення змінної a: ") | |
b = input("Введіть значення змінної b: ") | |
print("\nМіняємо місцями значення змінних a і b двома способами:") | |
c = a | |
a = b | |
b = c | |
print('a =', a) | |
print('b =', b) | |
a, b = b, a # повернули початкові значення | |
a, b = b, a | |
print('a =', a) | |
print('b =', b) | |
print('–' * 80 + '\n') | |
"""# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
# Завдання на базові операції та введення/виведення | |
# НИЖЧЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! | |
print('\tЗАВДАННЯ I.4\n') | |
# Користувач вводить з клавіатури температуру по шкалі Цельсія. Треба | |
# перевести температуру в градуси по Фаренгейту і вивести на екран. | |
# https://www.rapidtables.com/convert/temperature/celsius-to-fahrenheit.html | |
celsius = float(input("Температура в градусах Цельсія: ")) | |
fahrenheit = 32 + celsius * 9 / 5 | |
print(f"Температура в градусах Фаренгейта: {fahrenheit:.2f}") | |
print(f"\n{celsius:.2f} °C = {fahrenheit:.2f} °F") | |
print('–' * 80 + '\n') | |
# ВИЩЕНАВЕДЕНИЙ КОД ЗАПРАЦЮЄ, ЯКЩО ПРИБРАТИ ПОТРІЙНІ ЛАПКИ! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment