Напишіть програму, яка реалізує додавання, віднімання, множення і ділення дробів. Формат дробів у вхідних і вихідних даних:
- Знак числа (пишеться тільки у випадку, коли його відсутність змінює число);
- Ціла частина числа (нульова ціла частина не пишеться, якщо є чисельник і знаменник);
- Пробіл (не пишеться, якщо відсутня ціла чи дробова частина);
- Чисельник (якщо він не рівний нулю);
- Знак / (якщо є чисельник);
- Знаменник (якщо є чисельник).
Приклади запису дробових чисел: -5 3/4, 9 1/2, -7/11, 0, 15.
Вхідні дані.
В першому рядку вводиться дріб (перший операнд), в другому рядку знак операції (+ - * /), в
третьому рядку дріб (другий операнд). Обидва дроби можуть бути скоротними.
Вихідні дані.
В єдиному рядку виводиться нескоротний правильний дріб (результат) в описаному форматі.
Вхідні дані #1
-3 1/6
+
2/4
Вихідні дані #1
-2 2/3

malckowdanilр malckowdanilр    3   10.11.2021 13:13    0

Ответы
kristinandrosov kristinandrosov  10.12.2021 13:15

import linecache

from fractions import Fraction

try:

   q=0

   n=0

   inpfile=open('c:\\test\\input.txt', 'rt')

   oupfile=open('c:\\test\\output.txt', 'w')

   inputdata=[]

   for line in inpfile:

     stripped_line = line.strip().replace(" ","+")

     inputdata.append(stripped_line)

     print(inputdata)

   if len(inputdata)==3:

       if len(inputdata[1])==1:

           print(inputdata[1])

           print(inputdata[0])

           A=eval(inputdata[0])

           print(A)

           print(inputdata[2])

           B=eval(inputdata[2])

           print(B)

           if inputdata[1]=='+':

               q=A+B

           elif inputdata[1]=='-':

               q=A-B

           elif inputdata[1]=='*':

               q=A*B

           elif inputdata[1]=='/':

               q=A/B

           print(q)

           entier=int(q)

           fraction=q%1

           entstr=str(entier)

           fractstr=str(Fraction(fraction))

           print(fractstr)

           oupfile.write(str(entstr + " " + fractstr))

   oupfile.close()

except FileNotFoundError:

   print('Файл не знайдено')

except ZeroDivisionError:

   print('Ви намагаєтеся ділити на нуль')

except TypeError:

   print('Ви використовуєте інший тип даних')

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика