Как найти сумму дробей в питоне

0 / 0 / 0

Регистрация: 02.12.2016

Сообщений: 7

1

Сложения двух обыкновенных дробей

12.12.2017, 14:52. Показов 25609. Ответов 3


Студворк — интернет-сервис помощи студентам

Составить программу сложения двух обыкновенных дробей (с клавиатуры должны вводиться их числитель и знаменатель)
Помогите, пожалуйста
Язык программирования python



0



Эксперт по компьютерным сетям

5889 / 3347 / 1033

Регистрация: 03.11.2009

Сообщений: 9,975

12.12.2017, 15:21

2

del



0



Shamil1

Модератор

2978 / 2131 / 451

Регистрация: 26.03.2015

Сообщений: 8,298

12.12.2017, 16:26

3

Python
1
2
3
4
5
6
7
8
9
10
def gcd(x, y):
    while y != 0:
        (x, y) = (y, x % y)
    return x
 
def add(a, b, c, d):
    x = a*d + b*c
    y = b*d
    z = gcd(x, y)
    return (x//z, y//z)



0



Jabbson

Эксперт по компьютерным сетям

5889 / 3347 / 1033

Регистрация: 03.11.2009

Сообщений: 9,975

12.12.2017, 17:33

4

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from math import gcd
 
n1, d1 = map(int, input().split('/'))
n2, d2 = map(int, input().split('/'))
 
if d1 == d2:
    print('{}/{}'.format(n1+n2, d1))
else:
    cd = int(d1*d2/gcd(d1, d2))
    rn = int(cd/d1*n1+cd/d2*n2)
    g2 = gcd(rn, cd)
    n = int(rn/g2)
    d = int(cd/g2)
    print('{}/{}'.format(n, d) if n != d else n)

Код

1/3
2/5
11/15

Код

1/2
2/4
1



0



I’d like to calculate the sum of the following numbers using a loop

1/3 + 3/5 + 5/7 + . . . + 95/97 + 97/99

Print the sum

So far this is what I wrote but I could only get it to print the fractions

s = ''
for j in range(30, 0, -1):
    s += "{}/{} + ".format(31-j, j)
    sum = +=j
print sum

Neil's user avatar

Neil

14k3 gold badges30 silver badges50 bronze badges

asked Apr 6, 2017 at 1:05

Nippy LLC's user avatar

5

To sum up the fractions of x/(x+2) where x is odd, you can use range(start, stop, step) where the start is 1, stop is 98, and the step size is 2. Passing this to sum will give you the answer:

sum(x/(x+2.0) for x in range(1,98,2))

answered Apr 6, 2017 at 1:14

James's user avatar

JamesJames

32.5k4 gold badges46 silver badges70 bronze badges

5

«Python Последнее обновление 26 июля 2019 08:42:51 (UTC / GMT +8 часов)

script1adsense2code

script1adsense3code

Python Math: Упражнение-46 с решением

Напишите программу на Python для сложения, вычитания, умножения и деления двух дробей.

Пример решения : —

Код Python:

import fractions
f1 = fractions.Fraction(2, 3)
f2 = fractions.Fraction(3, 7)
print('{} + {} = {}'.format(f1, f2, f1 + f2))
print('{} - {} = {}'.format(f1, f2, f1 - f2))
print('{} * {} = {}'.format(f1, f2, f1 * f2))
print('{} / {} = {}'.format(f1, f2, f1 / f2))

Пример вывода:

 2/3 + 3/7 = 23/21                                                                                             
2/3 - 3/7 = 5/21                                                                                              
2/3 * 3/7 = 2/7                                                                                               
2/3 / 3/7 = 14/9

Блоксхема:

«Блок-схема:

Редактор кода Python:

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу на Python, чтобы создать дробные числа десятичных чисел.
Далее: Напишите программу на Python для преобразования числа с плавающей запятой (PI) в приблизительное рациональное значение для различного знаменателя.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense5code

disqus2code

script1adsense6code

script1adsense7code

script1adsense8code

Модуль дробей Python позволяет пользователю эффективно управлять вычислениями, связанными с дробями. Этот модуль позволяет нам создавать дроби из целых чисел, чисел с плавающей запятой, десятичных чисел и строк.

Он поддерживает арифметические операции с рациональными числами.

1. Импорт модуля фракций:

from fractions import Fraction

2. Создайте экземпляр класса дроби:

Есть несколько способов создать экземпляр класса дроби. Ниже приведены некоторые способы:

  • Передайте числитель и знаменатель;
  • Создайте экземпляр с помощью float;
  • Создать с десятичным числом;
  • Создайте экземпляр со строкой.

Пример: создание экземпляра путем передачи числителя и знаменателя

from fractions import Fraction
Fraction(1, 2)

Пример: создание с поплавком

from fractions import Fraction
Fraction(2.5)

Пример: создать экземпляр с десятичным числом

from fractions import Fraction
from decimal import Decimal
Fraction(Decimal('1.1'))

Пример: создать экземпляр строки

from fractions import Fraction
Fraction('9/16')

Создание дробей

import fractions

for num, decimal in [(1, 2), (3, 6), (30, 7)]:
    result = fractions.Fraction(num, decimal)
    print('{}/{} = {}'.format(num, decimal, result))

Выход:

1/2 = 1/2
3/6 = 1/2
30/7 = 30/7

Выполнение арифметических операций над дробями

В следующем примере объясняются различные математические операции с дробями.

from fractions import Fraction 

print(Fraction(100, 10) + Fraction(25, 5)) 

print(Fraction(18, 5) / Fraction(18, 10)) 

print(Fraction(18, 15) * Fraction(16, 25)) 

print(Fraction(17, 25) * Fraction(15, 25)) 

print(Fraction(12, 5) ** Fraction(12, 11)) 

Выход:

Вывод Арифметических Операций Над Дробями

Экземпляры фракций

Экземпляр Fraction — это дробь, состоящая из пары целых чисел, рациональных чисел или строки. Дроби являются хешируемыми и неизменяемыми, поэтому их значения нельзя изменить после создания.

class fractions.Fraction (числитель = 0, знаменатель = 1): требует, чтобы числитель и знаменатель были числами. В качестве выходных данных возвращается дробное значение = (числитель / знаменатель), значения по умолчанию — 0. Если знаменатель = 0, возникает ошибка деления.

Пример:

from fractions import Fraction 

print(Fraction(10, 35)) 
 
print(Fraction(10, 13)) 
 
print(Fraction()) # default value

Выход:

2/7
10/13
0

Функции математического модуля

Функции математического модуля можно смешивать с дробным представлением. В приведенном ниже примере показано одно такое представление.

import math
from fractions import Fraction
  
print("Square root: {}".format(math.sqrt(Fraction(21, 4))))
  
print("Floored to: {}".format(math.floor(Fraction(4100, 1100))))
  
print("Sined Fraction: {}".format(Fraction(math.sin(math.pi/2))))

Выход:

Square root: 2.29128784747792
Floored to: 3
Sined Fraction: 1

Округление дробей

Есть возможность округлить дроби на количество цифр, которое пользователь хочет в знаменателе.

Пример:

import fractions

result = fractions.Fraction('21/8')
print('Rounded without limit : {}'.format(round(result)))

print('Rounded to 2 digits : {}'.format(round(result, 2)))

Выход:

Rounded without limit : 3
Rounded to 2 digits : 131/50

  
>>> import fractions
>>> 
>>> def f():
...     s = input('Enter a, b, c, d: ')
...     a, b, c, d = map(int, s.split())
...     frac_sum = (fractions.Fraction(a, b)
...                 + fractions.Fraction(c, d))
...     m, n = frac_sum.numerator, frac_sum.denominator
...     print(m, n)
... 
>>> f()
Enter a, b, c, d: 1 2 3 4
5 4
>>> f()
Enter a, b, c, d: 2 4 4 8
1 1
>>>
>>> f()
Enter a, b, c, d: 1 3 1 2
5 6
>>>

Отредактировано py.user.next (Апрель 27, 2022 16:30:32)

Понравилась статья? Поделить с друзьями:
  • Как найти второй интеграл
  • Как правильно составить критерии оценивания
  • Как найти острый угол по двум катетам
  • Как исправить свои показания
  • Как можно найти специально