/
Nick_Wern
/
SUSU
Обзор
Документация
Войти
/
Nick_Wern
/
SUSU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Python/Lesson2.py
253 строки
10 KB
Nick_Wern
Добавлены работы по дисциплине Программирование на Python
03 май 2026, 19:26
03 май 2026, 19:26
913d1bd
Код
Авторство
О чём код?
import os, math def lesson1_1(): os.system("clear") WEIGHT = 2.5 PRICE_PER_KG = 38 cost = PRICE_PER_KG * WEIGHT while True: try: print("Задание 1.1 Пусть покупатель купил 2.5 кг черешни по цене 38 руб/кг. Сколько сдачи он получит?\n\ Вычислите стоимость покупки, а затем найдите разность между номиналом купюры и этой стоимостью") value = input("Введите номинал (exit для выхода): ") if value == "exit": break nominal = int(value) if nominal < cost: print("Недостаточно средств") else: print("Сдача:", nominal - cost) except: print("Ошибка ввода. Некорректное значение") def lesson1_2(): os.system("clear") while True: try: print("Задание 1.2 Напишите программу, которая из числа вида abcd составляет число badc.") value = input("Введите число (exit для выхода): ") if value == "exit": break if 999 < int(value) < 10000: res = value[1] + value[0] + value[3] + value[2] print("Получилось число:", res) else: print("Число слишком большое/маленькое") except: print("Ошибка ввода. Некорректное значение") def lesson1_3(): os.system("clear") while True: try: print("Задание 1.3 Вычислите длину вектора с заданными декартовыми координатами вершин.") value = input("Введите координаты вершины 1 (x y) (exit для выхода): ") if value == "exit": break v1 = list(map(int, value.split(" "))) v2 = list(map(int, input("Введите координаты вершины 2 (x y): ").split(" "))) vec = [ v1[0] - v2[0], v1[1] - v2[1] ] len = math.sqrt(vec[0] * vec[0] + vec[1] * vec[1]) print("Длина вектора равна:", len) except: print("Ошибка ввода. Некорректное значение") def lesson2_1(): os.system("clear") while True: try: print("Задание 2.1 Сегодня в 𝑁 часов 𝑀 минут владелец магазина заказал доставку нового товара.\n\ Оператор сообщил, что продукты доставят через 𝑇 минут. Сколько будет времени на\n\ электронных часах, когда привезут долгожданные продукты?") value = input("Введите количество часов (exit для выхода): ") if value == "exit": break N = int(value) M = int(input("Введите количество минут: ")) T = int(input("Введите время доставки: ")) if N < 0 or N >= 24: print("Неправильное количество часов") elif M < 0 or M >= 60: print("Неправильное количество минут") elif T < 30 or T >= 10**9: print("Неправильное количество минут") else: curMin = M + N * 60 sumMin = curMin + T hour = sumMin // 60 % 24 min = sumMin % 60 print(f"{hour}:{min}") N = int(value) M = int(input("Введите количество минут: ")) T = int(input("Введите время доставки: ")) if N < 0 or N >= 24: print("Неправильное количество часов") elif M < 0 or M >= 60: print("Неправильное количество минут") elif T < 30 or T >= 1000000000: print("Неправильное количество минут") else: curMin = M + N * 60 sumMin = curMin + T hour = sumMin // 60 % 24 min = sumMin % 60 print(f"{hour}:{min}") except: print("Ошибка ввода. Некорректное значение") def lesson2_3(): os.system("clear") while True: try: print("Задание 2.3 Три целых числа: M – скорость, с которой двигается Масяня, H –\n\ скорость, с которой двигается Хрюндель, S – первоначальное расстояние между Масяней и\n\ Хрюнделем.") value = input("Введите скорость Масяни (exit для выхода): ") if value == "exit": break M = int(value) H = int(input("Введите скорость Хрюнделя: ")) S = int(input("Расстояние между ними: ")) if M < 0 or H < 0: print("Скорости не могут быть отрицательными") elif S == 0: print("Они находятся в одном месте") elif M == 0 and H == 0: print("Они никогда не встретятся") else: hTime = S / (M + H) sTime = hTime * 60 * 60 print(f"Они встретятся верез {sTime} секунд") except: print("Ошибка ввода. Некорректное значение") def lesson2_4(): os.system("clear") while True: try: print("Задание 2.4 Вычислите периметр и площадь треугольника с заданными декартовыми координатами вершин.") value = input("Введите координаты вершины 1 (x y) (exit для выхода): ") if value == "exit": break v1 = list(map(int, value)) v2 = list(map(int, input("Введите координаты вершины 2 (x y): "))) v3 = list(map(int, input("Введите координаты вершины 3 (x y): "))) v1v2 = [ v2[0] - v1[0], v2[1] - v1[1] ] v1v3 = [ v3[0] - v1[0], v3[1] - v1[1] ] v2v3 = [ v3[0] - v2[0], v3[1] - v2[1] ] v1v2Len = math.sqrt(v1v2[0]**2 + v1v2[1]**2) v1v3Len = math.sqrt(v1v3[0]**2 + v1v3[1]**2) v2v3Len = math.sqrt(v2v3[0]**2 + v2v3[1]**2) if v1v2Len + v1v3Len + v2v3Len - 2 * (max(v1v2Len, max(v1v3Len, v2v3Len))): print("Такого треугольника не существует") else: P = (v1v2Len + v1v3Len + v2v3Len) / 2 S = math.sqrt(P * (P - v1v2Len) * (P - v1v3Len) * (P - v2v3Len)) print(f"Периметр: {P * 2}. Площадь: {S}") except: print("Ошибка ввода. Некорректное значение") def lesson3_3(): os.system("clear") while True: try: print("Задание 3.3 Продуктовый склад и магазин находятся на одной дороге города Н. Склад находится на\n\ отметке A км, а магазин – B км. Средняя скорость автомобиля, доставляющего товары,\n\ C км/ч. За какое время продукты попадают со склада в магазин?") value = input("Введите число (exit для выхода): ") if value == "exit": break number = int(value) # Проверка на число if len(value) != 4: print("Число не из четырех цифр") else: print(f"Сумма цифр: {sum([int(symbol) for symbol in number])}") except: print("Ошибка ввода. Некорректное значение") def lesson4_2(): os.system("clear") while True: try: print("Задание 4.2 Разработайте программу, запрашивающую у пользователя целое четырехзначное\n\ число и подсчитывающую сумму составляющих его цифр. Например, если пользователь\n\ введет число 3141, программа должна вывести следующий результат: 3 + 1 + 4 + 1 = 9.") value = input("Введите число (exit для выхода): ") if value == "exit": break number = int(value) # Проверка на число if len(value) != 4: print("Число не из четырех цифр") else: print(f"Сумма цифр: {sum([int(symbol) for symbol in number])}") except: print("Ошибка ввода. Некорректное значение") while True: os.system("clear") lesson = input("Введите номер задания (exit для выхода): ") match lesson: case "exit": break case "1.1": lesson1_1() case "1.2": lesson1_2() case "1.3": lesson1_3() case "2.1": lesson2_1() case "2.3": lesson2_3() case "2.4": lesson2_4() case "3.3": lesson3_3() case "4.2": lesson4_2() case _: error = True