用python3写了一个简单的小功具,请帮我优化,

自定义函数:

def changfangxing(a,b):
    s = a*b
    return s

def sanjiaoxing(a,h):
    s = (a*h)/2
    return s

def yuan(r):
    s = 3.14*r*r
    return s

def chengfa(a,b):
    j = a*b
    return j

def chufa(a,b):
    j = a/b
    return j

def jiafa(a,b):
    j = a+b
    return j

def jianfa(a,b):
    j = a-b
    return j

def jiujiu():
    for i in range(1,10):
        for j in range(1,i+1):
            print('%d*%d=%d' % (j,i,i*j),end='\t')
def chengfabiao():
    return jiujiu()



import gongju

while True:
    
    num = int(input('请输入数字选择工具:\n1长方形面积计算\n2三角形面积计算\n3圆形面积计算\n4九九乘法表\n5乘法计算\n6除法计算\n7加法计算\n8减法计算\n0退出\n'))

    if num <0 or num> 9:
        print()
        print('请输入1-9之间的数字')
        print()
        l = input('按回车继续')
        if not l:
            continue
    
    if num == 0:
        print('退出')
        break

    if num == 1:
        cfx = gongju.changfangxing(int(input('请输入长度:')),int(input('请输入宽度:')))
        print('长方形面积为:%.2f' % cfx)
        print()
        l = input('按回车继续')
        if not l:
            continue

    if num == 2:
        sjx = gongju.sanjiaoxing(int(input('请输入底边长度:')),int(input('请输入高度:')))
        print('三角形的面积为:%.2f' % sjx)
        print()
        l = input('按回车继续')
        if not l:
            continue

    if num == 3:
        y = gongju.yuan(int(input('请输入半径:')))
        print('圆的面积为:%.2f' % y)
        print()
        l = input('按回车继续')
        if not l:
            continue

    if num == 4:
        cfb = gongju.chengfabiao()
        print(cfb)
        print()
        l = input('按回车继续')
        if not l:
            continue

    if num == 5:
        cf = gongju.chengfa(int(input('请输入:')),int(input('请输入:')))
        print('结果为:%d' % cf)
        print()
        l = input('按回车继续')
        if not l:
            continue

    if num == 6:
        chu = gongju.chufa(int(input('请输入被除数:')),int(input('请输入除数:')))
        print('商为:%d' % chu)
        print()
        l = input('按回车继续')
        if not l:
            continue

    if num == 7:
        jia = gongju.jiafa(int(input('请输入数字:')),int(input('请输入数字:')))
        print('和为:%d' % jia)
        print()
        l = input('按回车继续')
        if not l:
            continue

    if num == 8:
        jf = gongju.jianfa(int(input('请输入被减数:')),int(input('请输入减数:')))
        print('差为:%d' % jf)
        print()
        l = input('按回车继续')
        if not l:
            continue

请帮我优化一下。如果能换一种思路写出来更好。谢谢

用不着写那么复杂

while True:
    num = int(input('''请输入数字选择工具:
    1:长方形面积计算
    2:三角形面积计算
    3:圆形面积计算
    4:九九乘法表
    5:乘法计算
    6:除法计算
    7:加法计算
    8:减法计算
    0:退出
    '''))
    if num < 0 or num > 8:
        input('请输入0-8之间的数字(按回车继续)!')
        continue

    elif num == 0:
        print('退出')
        break

    elif num == 1:
        cfx = int(input('请输入长度:')) * int(input('请输入宽度:'))
        print('长方形面积为:%.2f' % cfx)

    elif num == 2:
        sjx = int(input('请输入底边长度:')) * int(input('请输入高度:')) / 2
        print('三角形的面积为:%.2f' % sjx)

    elif num == 3:
        y = int(input('请输入半径:')) ** 2 * 3.14
        print('圆的面积为:%.2f' % y)

    elif num == 4:
        for i in range(1, 10):
            for j in range(1, i+1):
                print('%d*%d=%d' % (j, i, i*j), end='\t')

    elif num == 5:
        cf = int(input('请输入:')) * int(input('请输入:'))
        print('结果为:%d' % cf)

    elif num == 6:
        chu = int(input('请输入被除数:')) / int(input('请输入除数:'))
        print('商为:%d' % chu)

    elif num == 7:
        jia = int(input('请输入数字:')) + int(input('请输入数字:'))
        print('和为:%d' % jia)

    elif num == 8:
        jf = int(input('请输入被减数:')) - int(input('请输入减数:'))
        print('差为:%d' % jf)

    input('按回车继续')