我用最笨的方法写出了最小公倍数 但是这个最大公因数怎么打印的不对呢 求解疑

def math1():
    str=input('请输入两个整数: ')
    list=str.split()
    a=int(list[0].strip())
    b=int(list[1].strip())
    c=max(a,b)
    while c % a != 0 or c % b != 0:
        c = c + 1
        if c%a==0 and c%b==0:
            print(c)
            break
    else:
            print(c)
    d=min(a,b)
    e = []
    for i in range (1, d+1):
        if a%i==0 and b%i==0:
           e=e+[i]
           print(e.pop())
           #有点问题 最大公约数未打印出来
math1()

最大公约数:

def maxdiv(m,n):
    for i in range(min(m,n),0,-1):
        if m%i==0 and n%i==0:
            return i