Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Срочно нужен калькулятор дробей на питоне!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

артур иванов Ученик (100), открыт 1 неделю назад
1 ответ
Oni Yze Zdes Гуру (4377) 1 неделю назад
from math import gcd

class Fraction:
def __init__(self, numerator, denominator):
if denominator == 0:
raise ValueError("Деление на ноль!")
self.numerator = numerator
self.denominator = denominator
self.simplify()

def simplify(self):
common_divisor = gcd(self.numerator, self.denominator)
self.numerator //= common_divisor
self.denominator //= common_divisor

def __add__(self, other):
new_numerator = self.numerator * other.denominator + other.numerator * self.denominator
new_denominator = self.denominator * other.denominator
return Fraction(new_numerator, new_denominator)

def __sub__(self, other):
new_numerator = self.numerator * other.denominator - other.numerator * self.denominator
new_denominator = self.denominator * other.denominator
return Fraction(new_numerator, new_denominator)

def __mul__(self, other):
new_numerator = self.numerator * other.numerator
new_denominator = self.denominator * other.denominator
return Fraction(new_numerator, new_denominator)

def __truediv__(self, other):
if other.numerator == 0:
raise ValueError("Деление на ноль!")
new_numerator = self.numerator * other.denominator
new_denominator = self.denominator * other.numerator
return Fraction(new_numerator, new_denominator)

def __str__(self):
return f"{self.numerator}/{self.denominator}"

# Пример использования
if __name__ == "__main__":
f1 = Fraction(1, 2)
f2 = Fraction(3, 4)

print(f"Сложение: {f1} + {f2} = {f1 + f2}")
print(f"Вычитание: {f1} - {f2} = {f1 - f2}")
print(f"Умножение: {f1} * {f2} = {f1 * f2}")

print(f"Деление: {f1} / {f2} = {f1 / f2}")
артур ивановУченик (100) 1 неделю назад
 PS C:\Users\Admin> & C:/Users/Admin/AppData/Local/Programs/Python/Python313/python.exe c:/Users/Admin/Desktop/intro.py 
Сложение: 1/2 + 3/4 = 5/4
Вычитание: 1/2 - 3/4 = -1/4
Умножение: 1/2 * 3/4 = 3/8
Деление: 1/2 / 3/4 = 2/3
PS C:\Users\Admin>
а я что то могу делать?
Oni Yze Zdes Гуру (4377) артур иванов, исправил
артур ивановУченик (100) 1 неделю назад
а всё в ехало
Похожие вопросы