猫史档案馆


【Python作品分享】Number 库【作品秀】

用户:THORNSTHORNS查看:4 回复:3 评论:4 创建时间:2021-06-17T21:06:22


【作品展示】

center_image

 

【作品介绍】

Number 库

我发布的第一个库作品

涉及因数、完全数、质数、合数、偶数、分解质因数等多种内容

希望对你有所帮助

 

【作品源代码】

print('欢迎使用Number库\n版本:1.0.0版(2021.6.17更新)\n作者:四光年之外\n如有疑问,欢迎在https://shequ.codemao.cn/communit搜索“number库”帖子查看详询或发表意见\n')

# 找一个数所有的因数
def factor(num):
    factors = []
    for i in range(num-1):
        i += 1
        if num % i == 0:
            factors.append(i)
    factors.append(num)
    return factors

# 判断一个数是否为完全数
def per_num(num):
    sum = 0
    factors = factor(num)
    for i in range(len(factors)-1):
        sum += factors[i]
    if sum == num:
        return True

# 判断一个数是否为质数
def pri_num(num):
    if len(factor(num)) == 2:
        return True
    else:
        return False

# 判断一个数是否为偶数
def even_num(num):
    if num %2 == 0:
        return True
    else:
        return False

# (最大)公因数
def hcf(num1, num2):
    common_f = []
    for i in factor(num1):
        if i in factor(num2):
            common_f.append(i)
    return common_f, max(common_f)
    # 注意:本函数会返回两个值:两个数的公因数和最大公因数

# (最小)公倍数
def lcm(num1, num2):
    i = 1
    min_num = min(num1, num2)
    max_num = max(num1, num2)
    while not min_num*i % max_num == 0:
        i += 1
        
    return min_num*i

# 分解质因数
def pri_fac(num):
    pri_factors = []
    now_num = num
    while not pri_num(now_num):
        pri_factor = factor(now_num)[1]
        now_num = int(now_num/pri_factor)
        pri_factors.append(pri_factor)
    pri_factors.append(now_num)
    if pri_factors:
        text = '{} = '.format(num)
        for i in pri_factors:
            text += '{}*'.format(i)
        text += '1'
    else:
        text = '{} = {}'.format(num, num)
    return text

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
wwwloadwwwload

高手emotion_编程猫_厉害了

点赞0


评论


Python-happyyyyPython-happyyyy

啊这,你起码也搞个class类型吧

 

点赞0


评论


小苏打_小苏打_

np

点赞0


评论