В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
232привет
232привет
23.08.2021 15:15 •  Информатика

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

Показать ответ
Ответ:
katyatyan2003ozrqxb
katyatyan2003ozrqxb
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('Ви використовуєте інший тип даних')

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота