嘎嘎127 2022-05-12 18:57 采纳率: 100%
浏览 222
已结题

Python分数四则运算

题目描述
对输入的两个分数进行+、-、*、/四则运算,输出最简分数结果,
最简结果要求分母和分子互质(没有除1之外的公因子)。

输入格式
分数表达式: a/b运算符c/d 。

输出格式
带结果的分数运算表达式

输入输出样例
输入1
1/2+1/4

输出1
1/2+1/4=3/4

输入2
1/4/1/2
输出2
1/4/1/2=1/2

  • 写回答

3条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-05-13 13:02
    关注

    这题有好几个陷阱,请测试一下这个:

    import re
    from fractions import Fraction
     
    f = input()
    a = re.findall(r'(\d+)/(\d+)(.)(\d+)/(\d+)',f)
    
    f1 = Fraction(int(a[0][0]), int(a[0][1]))
    f2 = Fraction(int(a[0][3]), int(a[0][4]))
    if a[0][2] == '+':
        res=f1+f2
    elif a[0][2] == '-':
        res=f1-f2
    elif a[0][2] == '*':
        res=f1*f2
    else:
        res=f1/f2
    if int(res)==res:res=str(res)+'/1'
    
    print(f'{a[0][0]}/{a[0][1]}{a[0][2]}{a[0][3]}/{a[0][4]}={res}')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月15日
  • 已采纳回答 5月14日
  • 创建了问题 5月12日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么