如果在另一个函数中调用,该函数将返回“ none”

时间:2019-05-01 19:52:42

标签: python

我想获得欧几里得汤,但是当我在ggt(x,z1)中调用totient()时,它将返回None。 知道是什么问题吗? ggt是否应该将值返回给totitent()

#!/usr/bin/python3

def ggt(a, b):
    if a > b:
        while b!=0:
            c = a % b
            a = b
            b = c
        return a

    else:
        ggt(b,a)

def totient():
    while True:
        try:
            z1 = int(input('insert number '))
            break
        except:
            print("Not a integer!")
            continue

    counter = 1

    for x in range(2,z1):
        cache = ggt(x,z1)
        if (cache == 1): # <-- this returns None
            counter += 1

    print("phi(%d)" % (counter))

totient()   

0 个答案:

没有答案