用户:THORNS查看:4 回复:3 评论:4 创建时间:2021-06-24T19:44:23
【作品展示】

【作品介绍】
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