Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 10, 2021 09:28:25

DUDOSatacker
Зарегистрирован: 2021-02-02
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите преобразовать код в класс

from fractions import Fraction
print('Введите первое рациональное число (прим. 1/2):')
a = list(map(int, input().split("/")))
print('Введите второе рациональное число (прим. 2/5)')
b = list(map(int, input().split("/")))
print('Выберите арифметическую операцию (прим. +, -, *, /)')
c = input()
if c == "+":
print(Fraction(a[0], a[1]) + Fraction(b[0], b[1]))
elif c == "-":
print(Fraction(a[0], a[1]) - Fraction(b[0], b[1]))
elif c == "*":
print(Fraction(a[0], a[1]) * Fraction(b[0], b[1]))
elif c == '/':
print(Fraction(a[0], a[1]) / Fraction(b[0], b[1]))
else:
print('Проверьте правильность введенных данных')

Офлайн

#2 Фев. 10, 2021 11:36:58

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите преобразовать код в класс

DUDOSatacker
Класс, это не способ организации кода, нельзя взять любой произвольный кусок листинга программы и сделать из него класс путем какого-то преобразования. Так же, как нельзя из какого-то произвольного текста сделать статью на википедии, а из рандомного набора шестеренок - механизм. Технически можно, конечно, но бессмысленно. Для того, чтобы иметь классы, сначала нужно определить ответственности этих классов и их интерфейсы, через интерфейсы связать классы между собой, а уже потом начать наполнять конкретные методы логикой. У вас есть три переменные. С какой-то вероятностью могу прежположить, что это калькулятор, и можно было бы выделить ответственности Регистр, Аккумулятор, АЛУ, Устройство Ввода, Устройство Вывода и тд. и построить на этой основе программу. Но это только мое предположение и из вашего кода этого напрямую не следует, это вполне может быть и не калькулятор, тогда будут другие ответственности и соответствующие классы. В том виде, в котором вы дали задачу, она бессмысленна чуть менее, чем полностью, и никакие классы вам не нужны.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version