当前位置: 首页 > 面试题库 >

在python中添加两个分数

吴子昂
2023-03-14
问题内容

我正在尝试在python中添加两个分数

如果输入1/4 + 1/4,我期望得到1/2结果

我用__add__加法建立了一个分数类

from fractions import gcd

class fraction:
    def __init__(self, numerator, denominator):
        self.num = numerator
        self.deno = denominator
    def __add__(self, other):
        self.sumOfn = self.num + other.num
        self.sumOfd = gcd(self.deno,other.deno)
        return(self.sumOfn, self.sumOfd)



print(fraction(1,4)+fraction(1,4))

但是我得到的输出是2,4,实际上是1/2,只是没有简化。我该如何解决这个问题?


问题答案:

简化分数的一般方法是找到分子和分母的最大公约数,然后将两者除以



 类似资料:
  • 我有一个关于使用LeetCode的链表添加两个数字的问题。下面是问题本身,我面临的问题,以及我的代码。 给您两个非空链表,表示两个非负整数。数字按相反顺序存储,每个节点包含一个数字。将这两个数字相加,并将其作为链表返回。 您可以假设这两个数字不包含任何前导零,除了数字0本身。 实例 输入:(2- 问题是它打印出: 当结果出现时,它停止。val为0并调用NullPointerException。我不

  • 问题内容: 我有两次弦乐时间 有没有简单的方法可以将这两个时间相加并获得一个新的时间 呢? 我想在客户端执行此操作,因此,如果可以避免使用任何日期数据库 问题答案: 请记住,您可以将小时/分钟/秒的整数值转换为单个整数,如下所示: 并转换回: 或者,您可以按以下步骤进行算术零碎:

  • 我的应用程序中有一个autocompletetextview、一个textview和一个按钮。单击该按钮时,它将在数据库中搜索与TextView中的单词相等的单词。 flow:•Word from autocompletetextview(通过单击imagebuttons输入)>Search Word(使用按钮)条件:•如果Word在数据库中,textview将显示相应的分数(也在dbase中),

  • 下面的代码是一个按钮的方法。 它总是给我一个错误。 如果我删除,那么它可以正常工作。 当我单击按钮时,如何使用POST方法,并移动到另一个活动? 错误:04-27 19:41:26.066 197 4-1974/com.opshun_test.opshun_test e/androidruntime:致命异常:main process:com.opshun_test.opshun_test,pid

  • 问题内容: 我有两个数字。例如: 为什么数字不支持算术运算?无论如何,我将如何在Java中将这两个数字相加?(当然,我是从某个地方获取它们的,我不知道它们是Integer还是float等)。 问题答案: 你不知道数字是整数还是浮点数…使用该类时,编译器也不知道你的数字是整数,浮点数还是其他东西。结果,像+和-这样的基本数学运算符不起作用;计算机将不知道如何处理这些值。 开始编辑 根据讨论,我认为一