Дроби со скобками калькулятор: Онлайн калькулятор. Преобразование смешанных чисел в неправильные дроби

Калькулятор дробей в обходном пути Python

Итак, мне нужно создать скрипт Python, который задает 2 дроби, а операнд будет печатать результат операции. Это предполагалось решить, сначала запросив одну дробь и сохранив ее в переменной, затем запросив другую дробь и, наконец, запросив операнд. Но из любопытства я попытался взглянуть на эту проблему с другой точки зрения. Моя идея состояла в том, чтобы запросить полную операцию и сохранить входную строку в переменную, затем с помощью функции exec() я мог получить десятичный результат данной операции, наконец, чтобы иметь дело с десятичными дробями, моя идея состояла в том, чтобы умножить на 10 до степень числа десятичных цифр, а затем деление на 10 в той же степени, таким образом, я мог получить дробь в результате. Итак, я перешел к коду и сумел запрограммировать это, моя единственная проблема заключается в том, что количество десятичных цифр ограничено, поэтому обычно результат, который возвращает мой скрипт, представляет собой очень большую дробь, которая очень близка к реальной дроби.

Поэтому мне было интересно, есть ли обходной путь для этого. Вот мой код и пример для дальнейшего объяснения:

 op = input('Введите операцию:')
пытаться:
    exec('a = ' + op)
кроме:
    print('Неверная операция')
по евклидам (а, б):
    а != 0 и б != 0:
        если a < b: b = b%a
        иначе: а = а%б
    если a == 0: вернуть b
    Элиф б == 0: вернуть а
print(f'{int(a*10**len(str(a).split(".")[1])/euclides(a*10**len(str(a).split(".") [1]),10**len(str(a).split(".")[1])))}/{int(10**len(str(a).split(".")[1 ])/евклиды (a*10**len(str(a).split(".")[1]),10**len(str(a).split(".")[1]))) }')
 

ПРИМЕР:

  1. операционный ввод => 4/3+5/7
  2. Результат скрипта => 511119/2500000000000000 = 2.047611
  3. Результат, который я ищу => 43/21 = 2,047619 период

Заранее спасибо за помощь

  • python

16

Каковы ваши ограничения в отношении того, какие стандартные или дополнительные модули вы можете использовать? Без учета ограничений, которые вы не указали, есть гораздо лучшие способы сделать то, что вы делаете. Ваша проблема, кажется, резюмируется словами «результат, который возвращает мой скрипт, является очень большой долей», и ваш вопрос, кажется, звучит так: «Мне было интересно, есть ли какое-либо обходное решение для этого?». Есть ряд «обходных путей». Но довольно сложно угадать, какое решение будет лучшим для вас, поскольку вы не говорите нам, какие инструменты вы можете и не можете использовать для выполнения своей задачи.

В качестве примера, вот элегантное решение, если вы можете использовать регулярные выражения и модуль дробей , и если вы можете предположить, что ввод всегда будет в очень строгом формате /

+< int>/ :

 импорт повторно
импортные фракции
op = input('Введите операцию:')
m = re.match(r"(\d+)/(\d+)\+(\d+)/(\d+)", op)
если не м:
    поднять('Неверная операция')
GPS = список (карта (int, m.groups ()))
f = дроби. Дробь (gps [0], gps [1]) + дроби. Дробь (gps [2], gps [3])
печать (е)
печать (с плавающей запятой (f))
печать (раунд (с плавающей запятой (f), 6))
 

Результат:

 43/21
2. 047611
2.047619

Это ответ на ваш текущий вопрос. Однако я не знаю, нарушает ли это условия вашего задания.

Можно просто преобразовать все натуральные числа в Дробь и вычислить:

 >>> op = '4/3+5/7'
>>> импорт re, дроби
>>> print(eval(re.sub(r'(\d+)', r'fractions.Fraction(\1)', op)))
43/21
 

Работает и для других случаев (в отличие от решения принятого ответа, которое делает только

сумма ровно двух дробей, которые должны быть положительными и не должны содержать пробелов), например:

 >>> op = '-1/2 + 3/4 - 5/6'
>>> print(eval(re.sub(r'(\d+)', r'fractions.Fraction(\1)', op)))
-7/12
 

Проверка:

 >>> -7/12, -1/2 + 3/4 - 5/6
(-0,5833333333333334, -0,58333333333333334)
 

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Графики с ограничениями на калькулятор переменных

   
Дом
Научное обозначение
Обозначения и символы
Линейные уравнения и неравенства с одной переменной
Графические уравнения с тремя переменными
Что Стандартная форма квадратного уравнения может рассказать вам о графике
Упрощение подкоренных выражений, содержащих один член
Сложение и вычитание дробей
Умножение подкоренных выражений
Сложение и вычитание дробей
Умножение и деление с квадратным корнем
Графики линейных неравенств
Функция абсолютного значения
Реальные числа и реальная линия
Мономиальные множители
Возведение экспоненциального выражения в степень
Рациональные показатели
Умножение двух дробей, оба числителя которых равны 1
Умножение рациональных выражений
Создание знаменателя
Сложение и вычитание десятичных знаков
Решение квадратных уравнений
Научное обозначение
Как радикальные термины
Графические параболы
Вычитание реверсов
Решение линейных уравнений
Разделение рациональных выражений
Комплексные числа
Решение линейных неравенств
Работа с дробями
Графики линейных уравнений
Упрощение выражений, содержащих отрицательные показатели
Рационализация знаменателя
Десятичные дроби
Оценка сумм и разностей смешанных чисел
Алгебраические дроби
Упрощение рациональных выражений
Линейные уравнения
Деление комплексных чисел
Упрощение квадратных корней, содержащих переменные
Упрощение радикалов с участием переменных
Составные неравенства
Факторинг специальных квадратичных многочленов
Упрощение сложных дробей
Правила для экспонентов
Нахождение логарифмов
Умножение многочленов
Использование координат для поиска уклона
Переменные и выражения
Разделение радикалов
Использование пропорций и креста
Решение уравнений с радикалами и показателями
Натуральные бревна
Метод сложения
Уравнения
   

построение графика с ограничениями на калькулятор переменных
Связанные темы:
шагов, используемых в уравнении балансировки | как разделить с помощью длинного деления на ти-89 | пояснения по упрощению подкоренных выражений | замена или исключение в алгебраическом уравнении | степенные уравнения алгебры | меррилл: алгебра один | калькулятор умножения и деления целых чисел

Автор Сообщение
Pogimaherc Disigm

Зарегистрирован: 10. 01.2003
Откуда: Манчестер, Великобритания

Размещено: Четверг, 28 декабря, 10:41

Привет, волшебники математики! Мне нужна помощь, чтобы распутать этот график с ограничениями на калькулятор переменных, которые я не могу сделать самостоятельно. Приближается мой тест по математике, и мне нужна помощь в построении кругов, перемножении матриц и системе уравнений. Я также подумываю нанять репетитора по математике, но это очень дорого. Поэтому я был бы очень признателен, если бы вы могли оказать некоторую помощь в решении проблемы.
Наверх
кфир

Зарегистрирован: 07.05.2006
Откуда: Египет

Размещено: Пятница, 29 декабря, 15:55

Что ж, я не могу решить твое задание за тебя, так как это будет означать жульничество. Тем не менее, я могу дать вам предложение. Попробуйте использовать Алгебратор. Вы можете найти подробные и хорошо объясненные ответы на все ваши вопросы в виде графиков с ограничениями на калькуляторе переменных.
Наверх
Вильд

Зарегистрирован: 03.07.2001
Откуда: Сакраменто, Калифорния

Размещено: Суббота, 30 декабря, 21:17

Привет, друзья, я согласен, Алгебратор - лучший. Я использовал его в промежуточной алгебре, базовой математике и алгебре колледжа. Это помогло мне решить самые сложные математические задачи. Я благодарен за это.
Вернуться к началу
Гулс

Зарегистрирован: 01.12.2002
Откуда: Великобритания

Размещено: Понедельник, 01 января, 20:35

Algebrator — это программа, которую я использовал на нескольких занятиях по алгебре — Remedial Algebra, College Algebra и College Algebra. Это действительно отличная программа для алгебры.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

© 2015 - 2019 Муниципальное казённое общеобразовательное учреждение «Таловская средняя школа»

Карта сайта