有理数python_1034 有理数四则运算 (20分)(Python)
本题要求编写程序,计算 2 个有理数的和、差、积、商。
输入格式:
输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。
输出格式:
分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式 k a/b,其中 k 是整数部分,a/b 是最简分数部分;若为负数,则须加括号;若除法分母为 0,则输出 Inf。题目保证正确的输出中没有超过整型范围的整数。
输入样例 1:
2/3 -4/2
输出样例 1:
2/3 + (-2) = (-1 1/3)
2/3 - (-2) = 2 2/3
2/3 * (-2) = (-1 1/3)
2/3 / (-2) = (-1/3)
输入样例 2:
5/3 0/6
输出样例 2:
1 2/3 + 0 = 1 2/3
1 2/3 - 0 = 1 2/3
1 2/3 * 0 = 0
1 2/3 / 0 = Inf
代码实现:
import fractions # fractions——有理数
#处理数值
def kkk(num):
result = ''
if '/' in str(num):
n1, n2 = map(int, str(num).split('/'))
if abs(n1) > abs(n2):
if n1 > 0:
nn = n1 // n2
nn1 = str(n1 - nn * n2) + '/' + str(n2)
result = str(nn) + ' ' + nn1
else:
nn = (n1 // n2 + 1)
nn1 = str(abs(n1 - nn * n2)) + '/' + str(n2)
result = '(' + str(nn) + ' ' + nn1 + ')'
elif abs(n1) == abs(n2):
nn = n1 // n2
if nn > 0:
result = str(nn)
else:
result = '(' + nn + ')'
else:
if n1 > 0:
result = str(n1) + '/' + str(n2)
else:
result = '(' + str(n1) + '/' + str(n2) + ')'
else:
if num >=0:
result = str(num)
else:
result = '('+str(num)+')'
return result
num1, num2 = map(fractions.Fraction, input().split())
if num2 == 0:
print('%s + %s = %s' % (kkk(num1), kkk(num2), kkk(num1 + num2)))
print('%s - %s = %s' % (kkk(num1), kkk(num2), kkk(num1 - num2)))
print('%s * %s = %s' % (kkk(num1), kkk(num2), 0))
print('%s / %s = %s' % (kkk(num1), kkk(num2), 'Inf'))
else:
print('%s + %s = %s' % (kkk(num1), kkk(num2), kkk(num1 + num2)))
print('%s - %s = %s' % (kkk(num1), kkk(num2), kkk(num1 - num2)))
print('%s * %s = %s' % (kkk(num1), kkk(num2), kkk(num1 * num2)))
print('%s / %s = %s' % (kkk(num1), kkk(num2), kkk(num1 / num2)))
有理数python_1034 有理数四则运算 (20分)(Python)相关推荐
- C++学习之路 | PTA乙级—— 1034 有理数四则运算 (20 分)(精简)
1034 有理数四则运算 (20 分) 本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是 ...
- 【2020模拟考试T4】【PAT乙】1034 有理数四则运算 (20分) 测试点2
problem 1034 有理数四则运算 (20分) 本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中 ...
- 1014 福尔摩斯的约会 (20 分) Python和C++版本
1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...
- L1-079 天梯赛的善良 (20 分)python
题目 L1-079 天梯赛的善良 (20 分) 天梯赛是个善良的比赛.善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分. ...
- L1-039 古风排版 (20 分)python
题目 L1-039 古风排版 (20 分) 中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字 ...
- 1034 有理数四则运算 (20 分)(c语言)(测试点三)
本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前 ...
- 1034 有理数四则运算 (20分)
本题要求编写程序,计算 2 个有理数的和.差.积.商. 输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前 ...
- 【PAT乙级】1034 有理数四则运算 (20 分)
题目地址 #include<bits/stdc++.h> using namespace std; typedef long long int LL; LL gcd(LL a,LL b) ...
- 7-36 复数四则运算 (15 分)(python编写)
本题要求编写程序,计算2个复数的和.差.积.商. 输入格式: 输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部.题目保证C2不为0. 输出格式 ...
- python编写一个判断完数的函数过程_第4章-30 找完数 (20分)python
所谓完数就是该数恰好等于除自身外的因子之和.例如:6=1+2+3,其中1.2.3为6的因子.本题要求编写程序,找出任意两正整数m和n之间的所有完数. 输入格式: 输入在一行中给出2个正整数m和n(1 ...
最新文章
- 关于C语言的问卷调查
- CMD命令行下载文件
- 图解Hadoop hdfs 管理元数据的机制
- BERT在文档级排序中的应用
- 使用phantomjs操作DOM并对页面进行截图需要注意的几个问题
- 801. 二进制中1的个数
- cv曲线面积的意义_几何直觉的魅力:sinx曲线下的面积原理是如此的美妙
- SharePoint开发中怎样使用Visual Studio给你的Web Part加入图标
- 79 ----二次曲面的分类、二次项系数矩阵的特征多项式、二次项系数矩阵的特征值与特征向量、消去二次交叉项、二次曲面方程中的一次项和常数项的变化
- 【干货】最新app源码下载:200款优秀Android项目源码
- 各种照片尺寸和分辨率
- 手机语言包与国家地区对照表
- 企业OA系统在低代码平台中要如何开发?
- Kettle连接Hadoop clusters 报错
- python批量下载网易云音乐音乐列表
- 基础30讲 第18讲 三重积分、曲线曲面积分
- c语言中eof的作用,C语言中,怎么用EOF结束输入?
- 多线程模式下保证事物的一致性
- GlassFish4安装部署
- 我的世界java防火墙_我的世界Java版更新:烟花和自由堡垒!
热门文章
- 等分频率法模拟随机波列(线性波叠加原理)
- matlab将声音和噪声叠加,如何用matlab产生一个多次叠加的含高斯噪声的正
- 高感 动态范围和宽容度的关系
- ICP-MS测试/电感耦合等离子体质谱仪(型号Perkin Elmer Nexion 300)
- PID调节之积分(I)调节
- SQLITE3 使用总结
- java中reject方法作用_Promise.all中对于reject的处理方法
- IDC中国大型企业SaaS云服务市场:金蝶位居第一
- python改变当前工作目录_在python中更改当前工作目录
- docsify(一):新增PDF目录、封面功能