Bootstrap

《python语言程序设计》2018版第8章20题使用Rational类编写一个程序(下)gcd为什么不好使?

按书中代码写的为什么会这样

10月22日演出完事累了.我停了两天的瑜伽课,准备应对另一场,小战斗.当然还有社恐.我要独自做一些事情.

2024高速发达的一年.

在这里插入图片描述


    def gcd(self,n,d):
        n1 = abs(self.__numerator)
        n2 = abs(self.__denominator)
        gcd = 1

        k = 1
        while k <= n1 and k <= n2:
            if n1 % k == 0 and n2 % k == 0:
                gcd = k
            k += 1
        return gcd

一晃一个月过去了
10月29日iso认证
11月4日、11月8日、11月18日、11月19日、11月22日 5场演出
接下来11月25日的演出就要开始了

重新修改

def gcd(self, numerator, denominator):
    n1 = abs(self.__numerator)
    n2 = abs(self.__denominator)
    GCD = 1

    k = 1
    while k <= n1 and k <= n2:
        if n1 % k == 0 and n2 % k == 0:
            GCD = k
        k += 1
    return gcd

我 将其中的gcd变成常量.另外将gcd原来的代码拿出来放到另一个py文件里,作为import加入我的代码里.

;