python — Как cделать вычитание дробей?
Вообщем, задали нам калькулятор дробей. Всё получилось, но если 1\1 — 1\2 то выдает 0. Я так и не нашел решение данной проблемы
from tkinter import * from math import * def aaa(event): a = int(assq.get()) b = int(ass1q.get()) c = int(ass2q.get()) d = int(ass3q.get()) e = ass4q.get() z=b x=d while z!=x: if z>x: z=z-x else: x=x-z if z > x: qwerty=z*(b//z)*(d//z) else: qwerty=x*(b//x)*(d//x) if e == '+': pop1=((qwerty//b)*a)+((qwerty//d)*c) k = gcd(pop1,qwerty) if pop1 == 0: labd2['text']='' labd['text']='0' laba['text']='' lab['text']='' elif (pop1//k)>=(qwerty//k): labd2['text']=str((pop1//k)//(qwerty//k)) laba['text']=str((pop1//k)%(qwerty//k)) lab['text']=str(qwerty//k) labd['text']='_' else: labd2['text']='' labd['text']='_' laba['text']=str(pop1//k) lab['text']=str(qwerty//k) if lab['text']!='0'and((pop1//k)%(qwerty//k)) == 0: laba['text']='' lab['text']='' labd['text']='' ####################вот и вычитание################################# if e == '-': pop2=((qwerty//b)*a)-((qwerty//d)*c) k = gcd(pop2,qwerty) if pop2 == 0: labd2['text']='' labd['text']='0' laba['text']='' lab['text']='' elif (pop2//k)>=(qwerty//k): labd2['text']=str((pop2//k)//(qwerty//k)) laba['text']=str((pop2//k)%(qwerty//k)) lab['text']=str(qwerty//k) labd['text']='_' else: labd2['text']='' labd['text']='_' laba['text']=str(pop2//k) lab['text']=str(qwerty//k) if lab['text']!='0'and((pop2//k)%(qwerty//k)) == 0: laba['text']='' lab['text']='' labd['text']='0' if e == '*': pop3=(a*c) qwerty=(b*d) k = gcd(pop3,qwerty) if pop3 == 0: labd2['text']='' labd['text']='0' laba['text']='' lab['text']='' elif (pop3//k)>=(qwerty//k): labd2['text']=str((pop3//k)//(qwerty//k)) laba['text']=str((pop3//k)%(qwerty//k)) lab['text']=str(qwerty//k) labd['text']='_' else: labd2['text']='' labd['text']='_' laba['text']=str(pop3//k) lab['text']=str(qwerty//k) if lab['text']!='0'and((pop3//k)%(qwerty//k)) == 0: laba['text']='' lab['text']='' labd['text']='' if e == ':': pop4=(a*d) qwerty=(c*b) k = gcd(pop4,qwerty) if pop4 == 0: labd2['text']='' labd['text']='0' laba['text']='' lab['text']='' elif (pop4//k)>=(qwerty//k): labd2['text']=str((pop4//k)//(qwerty//k)) laba['text']=str((pop4//k)%(qwerty//k)) lab['text']=str(qwerty//k) labd['text']='_' else: labd2['text']='' labd['text']='_' laba['text']=str(pop4//k) lab['text']=str(qwerty//k) if lab['text']!='0'and((pop4//k)%(qwerty//k)) == 0: laba['text']='' lab['text']='' labd['text']='' root = Tk() root.geometry('400x400+100+100') root.title('Okno') root['bg']='#999999' assq = Entry(root,width=5) assq.place(x = 20, y = 1) ass1q = Entry(root,width=5) ass1q.place(x = 20, y = 29) ass2q = Entry(root,width=5) ass2q.place(x = 90, y = 1) ass3q = Entry(root,width=5) ass3q.place(x = 90, y = 29) ass4q = Entry(root,width=5) ass4q.place(x = 55, y = 15) butq = Button(root,bg='blue',width=5, height=2) butq.place(x = 187, y = 100) butq.bind('<Button-1>',aaa) laba = Label(root,font='Ariel 8',bg='#999999') laba.place(x = 160, y = 1) lab = Label(root,font='Ariel 8',bg='#999999') lab.place(x = 160, y = 30) labd = Label(root,font='Ariel 8',bg='#999999',text='_') labd.place(x = 160, y = 16) labd2 = Label(root,font='Ariel 8',bg='#999999') labd2.place(x = 145, y = 16) labd3 = Label(root,font='Ariel 10',bg='#999999',text='=') labd3.place(x = 130, y = 16) root.mainloop()
Fractions Pro — калькулятор дробей, упрощение + конвертер дробей в десятичную
Интуитивно понятный, мощный и простой в использовании
Ищете простой в использовании, но мощный калькулятор для решения повседневных задач с дробями? Fractions Pro — это хорошо разработанный универсальный многофункциональный калькулятор для выполнения вычислений с правильными и неправильными дробями, смешанными числами, десятичными и целыми числами.
Хотя Fraction Pro может делать все, что вы ожидаете от приложения-калькулятора, его основное внимание уделяется дробям, поэтому оно позволяет выполнять вычисления дробей любой сложности. Этот уникальный калькулятор решает задачи на дроби на лету и имеет множество применений.
Получить приложение
Выполняете ли вы инженерные или строительные расчеты с использованием дробей, проверяете домашнюю работу, готовите или просто конвертируете дроби, Fractions Pro — это интеллектуальное решение для преобразования и расчета дробей, которое экономит ваше время и помогает избежать ошибок в расчетах.
Преобразователь дробей и калькулятор для вашего смартфона, планшета и компьютера
Больше, чем калькулятор дробей и конвертер
Fractions Pro сочетает в себе чистый интуитивно понятный дизайн и множество действительно полезных опций, которые выходят за рамки того, что вы обычно найдете в калькуляторах и конвертерах дробей.
Умный и интуитивно понятный
Приложение обеспечивает простой ввод для дробей/десятичных чисел, поддерживает естественное отображение дробей и показывает как выражение, так и результат.
Расчет дробей любой сложности
Идеальный инструмент для инженеров, строителей, архитекторов, плотников, дизайнеров, ученых, студентов и всех, кому необходимо выполнять расчеты дробей и преобразование дробей в десятичные и десятичные дроби.
Настройте приложение под свои нужды
С Fractions Pro вы можете легко получить ответ в дробной и десятичной формах, округлить результаты до пригодных для использования дробей, выбрать количество десятичных разрядов для отображения и многое другое.
Калькулятор дробей
• Калькулятор предлагает интуитивно понятный ввод дроби.• Сложные вычисления с дробями, смешанными числами и десятичными знаками.
• Вы можете получить ответ в дробной и десятичной форме.

• В отличие от многих калькуляторов дробей, Fraction Pro позволяет округлить результат до полезной дроби.
Преобразование профессиональных дробей
• Преобразование между дробями и десятичными числами:— преобразование десятичных чисел в дроби
— преобразование дробей в десятичные числа
• Упрощение дробей и смешанных чисел.
• Округлите результат до ближайшего 1/2, 1/4, 1/8, 1/12, 1/16, 1/32, 1/64, 1/128, 1/256
Работает как стандартный калькулятор
• Сложение, вычитание, умножение, деление.• Идеальное решение для дробей и десятичных чисел.
• Вычисления со скобками, включая вложенные скобки.
• Приложение поддерживает квадратный корень, степени и тригонометрические функции.
• Тригонометрические расчеты в градусах и радианах.
• Константы: π (пи).
Фракции Про Настройки
• Вы можете использовать приложение как в портретном, так и в ландшафтном режиме.
Калькулятор не только показывает результаты в десятичной и дробной формах, но также предлагает расширенные возможности округления дробей и десятичных чисел:
• В окне «Настройки» вы можете легко установить точность вычисления, изменив количество знаков после запятой от 0 до 8. Таким образом, вы можете настроить калькулятор на округление десятичных чисел до десятых, сотых, тысячных и т. д. По умолчанию приложение показывает 2 десятичных знака. Если вам нужно округлить результат до ближайшего целого числа, просто установите количество знаков после запятой равным «0».
• Дробные результаты могут быть округлены до ближайших 1/2, 1/4, 1/8, 1/12, 1/16, 1/32, 1/64, 1/128, 1/256. Если вам не нужно округлять дроби, просто выберите «-».
• Вы можете настроить внешний вид приложения, выбрав одну из 7 цветовых схем.
Специальные функции
• Кнопки «Назад» и «Вперед» для поиска и вызова последних вычислений.
• «Отменить» для команды «Очистить».
• Лента истории для просмотра и обмена расчетами.
• Доля результатов расчета по электронной почте.
Скачать Фракции Pro
Рассчитать! — лучший настольный калькулятор
Qalculate!
— лучший настольный калькулятор
Qalculate! это многоцелевой кросс-платформенный настольный калькулятор. Он прост в использовании, но обеспечивает мощность и универсальность, обычно предназначенные для сложных математических пакетов, а также полезные инструменты для повседневных нужд (такие как конвертация валюты и расчет процентов). Особенности включают в себя большую библиотеку настраиваемых функций, расчеты и преобразование единиц измерения, физические константы, символьные вычисления (включая интегралы и уравнения), произвольную точность, распространение неопределенности, интервальную арифметику, построение графиков и удобный интерфейс (GTK, Qt и CLI).