猫史档案馆


【Python作品分享】Number

用户:THORNSTHORNS查看:4 回复:3 评论:4 创建时间:2021-06-24T19:44:23


【作品展示】

center_image

 

【作品介绍】

2021年6月24日更新公告

本次更新后版本:1.0.1版本

更新内容

介绍更新:优化了介绍时的效果,使介绍时有字幕滚动的效果

最大公因数更新:hcf()函数重做,支持算多个数的最大公因数;参数由填入两个数字变成了填入一个列表

最小公倍数更新:lcm()函数重做,支持算多个数的最小公倍数;参数由填入两个数字变成了填入一个列表

2021年6月24日

一只大聪明

 

【作品源代码】

import time
# 介绍
text_list = ['欢迎使用Number 库', '版本:1.0.1版(2021.6.24更新)', '如有疑问,请在https://shequ.codemao.cn/community/381285发表评论']
for i in text_list:
    print(i)
    time.sleep(0.5)
print('\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(num_list):
    if type(num_list) == list and len(num_list) > 1:
        common_f = []
        for i in factor(num_list[0]):
            common = True
            for j in num_list:
                if not i in factor(j):
                    common = False
            if common:
                common_f.append(i)
        return common_f, max(common_f)
    else:
        return '请在hcf参数内传入一个长度大于1的列表!'
    # 注意:本函数会返回两个值:两个数的公因数和最大公因数;请在该函数的参数内传入一个长度大于1的列表

# (最小)公倍数
def lcm(num_list):
    if type(num_list) == list and len(num_list) > 1:
        i = 1
        common = False
        while not common:
            common = True
            now_num = num_list[0]*i
            for j in num_list:
                if not now_num % j == 0:
                    common = False
            i += 1
        return now_num
    else:
        return '请在lcm参数内传入一个长度大于1的列表!'
    #注意:请在该函数的参数内传入一个长度大于1的列表

# 分解质因数
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下一页
THORNSTHORNS

1.0.0版本(2021.6.17更新)在https://shequ.codemao.cn/community/381285网址,如果需要的可以去看一看哦~

点赞0


评论


THORNSTHORNS

如果你是一个五年级学生的话,这个库应该会给你很大帮助的~

点赞0


评论


lsk666666lsk666666

你这个库分解质因数的效率怎么样,我的一个库可能要用到分解质因数

点赞0


评论