赞
踩
输入一个分数,对该分数化简后输出其最简分式的形式。
输入格式:
输入有若干行,每行输入一个分数。
输出格式:
对每行输入,输出其真最简分式的形式。
输入样例:
6/9
-2/4
2/-100
-4/-6
0/1000
输出样例:
2/3
-1/2
-1/50
2/3
0
代码:
from fractions import *
while True:
try:
x, y = map(int, input().split('/'))
print(Fraction(x, y))
except:
break
定义类Fraction,在其中定义属性:numerator和denominator,分别表示分子和分母。
然定再定义两个分数的加、减、乘、除运算的方法。
在主类中输入2个分数,计算它们的四则运算结果。
提示:若用Python语言来实现,不必自行创建类,可直接使用fractions模块处理分数的表示与运算。
输入格式:
第一行是整数N,表示待进行分数四则运算式子的数量。接下来包含N行输入。
每行数据是一个字符串,格式是"a/boc/d"。
其中a, b, c, d为数字(每个数字保证在int类型范围内,为正数并且不存在正号)。o是运算符"+“或者”-“,”*“,”"。
输出格式:
对于每一行分数四则运算,输出一行计算结果。
注意:结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数形式。
输入样例:
5
1/100+3/100
1/4-1/2
1/3-1/3
1/2*2/1
1/2\1/2
输出样例:
1/25
-1/4
0
1
1
代码:
from fractions import * n = int(input()) for i in range(n): s = input() if '+' in s: f1, f2 = map(str, s.split('+')) f3 = Fraction(f1) + Fraction(f2) elif '-' in s: f1, f2 = map(str, s.split('-')) f3 = Fraction(f1) - Fraction(f2) elif '*' in s: f1, f2 = map(str, s.split('*')) f3 = Fraction(f1) * Fraction(f2) elif '\\' in s: f1, f2 = map(str, s.split('\\')) f3 = Fraction(f1) / Fraction(f2) print(f3)
编写一个程序,实现两个分数的加减法。
输入格式:
输入包含多行数据。
每行数据是一个字符串,格式是"a/boc/d"。
其中a, b, c, d是一个0-9的整数。o是运算符"+“或者”-"。
输出格式:
对于输入数据的每一行输出两个分数的运算结果。
注意:结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数。
输入样例:
在这里给出一组输入。例如:
1/8+3/8
1/4-1/2
1/3-1/3
输出样例:
在这里给出相应的输出。例如:
1/2
-1/4
0
代码:
from fractions import *
while True:
try:
s = input()
if '+' in s:
f1, f2 = map(str, s.split('+'))
f3 = Fraction(f1) + Fraction(f2)
elif '-' in s:
f1, f2 = map(str, s.split('-'))
f3 = Fraction(f1) - Fraction(f2)
print(f3)
except EOFError:
break
下面是关于Fraction类的一些知识(化简分数就不需要用gcd了)
from fractions import Fraction
或者
from fractions import *
实例化Fraction类的方法有下面几种:
(1)Fraction(x,y) #x,y均为整型,x为分子,y为分母
(2)Fraction(4.5) #这里用的是浮点数,相当于Fraction(9,2)
(3)也可以使用str,即字符串类型
Fraction('6/9') #相当于Fraction(2,3)
Fraction类可以自动约分分数,加减乘除和平时一样用就就行,返回的是分数的形式,乘方不太好用,会返回一个浮点数
212丨acc丨2022.11.25
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。