猫史档案馆


【Python作品分享】Number 库(1.1.0版本)【作品秀】

用户:THORNSTHORNS查看:3 回复:5 评论:3 创建时间:2021-06-28T16:06:29


【作品展示】

center_image

 

【作品介绍】

2021年6月28日更新公告

本次更新后版本:1.1.0版本

更新内容

介绍更新:用PySide2和sys优化了介绍时的效果,将控制台打印的方式改为弹窗提示

(注意事项:本次更新后可能会导致某些没有安装PySide2和sys库的系统报错,使用前请点击库管理检查是否安装PySide2和sys库)

2021年6月28日

一只大聪明

 

【作品源代码】

import sys
from PySide2.QtWidgets import *

# 使用PySide2介绍
app = QApplication(sys.argv)
txt = ['本次更新后版本:1.1.0版本',
       '本次更新时间:2021年6月28日',
       '本次更新内容:1.更改了介绍界面,使用PySide2的QMessageBox进行介绍',
       '作者:一只大聪明',
       '如有疑问,请登录https://shequ.codemao.cn/community/381285查看详情或进行评价']
window = QMainWindow()
for i in txt:
    QMessageBox.information(window,
                            'Number 库介绍',
                            i,
                            QMessageBox.Yes,
                            QMessageBox.Yes)

# 找一个数所有的因数
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版本(无第三方库,但是当时的最大公因数、最小公倍数还没有更新,只能求两个数的,用网页版也可以哦):https://shequ.cod喵/community/381285

1.0.1版本(有第三方库,time库,最大公因数、最小公倍数已经更新,具体情况见网址,如果用网页版的就把含有time库的代码删了)https://shequ.cod喵/community/382085

点赞0


评论


THORNSTHORNS

这个介绍会不会有点太花哨了?emotion_编程猫_翻白眼

点赞0


评论


THORNSTHORNS

小喵做的,请见谅~emotion_雷电猴_嗯嗯

点赞0


评论


lsk666666lsk666666

有github吗?

有的话传一下github,管理代码能方便一点

点赞0


评论


伴雪纷飞伴雪纷飞

建议:

几乎没有啥库用的是ui介绍

 

这个库如果直接调用的话也会介绍,特别是弹窗,建议加上

if __name__=='__main__':

点赞0


评论