数类型判断python

输入一个整数,判断其是否是素数;若不是,则给出一个该数的分解因式.

该回答通过自己思路及引用到搜索综合及思考,得到符合你条件的代码如下:
下面代码中,is_prime函数用于判断一个整数是否是素数,factorize函数用于分解一个整数的质因数。程序首先输入一个整数,然后判断它是否是素数。如果是素数,则输出提示信息;如果不是素数,则输出它的质因数分解结果。

def is_prime(num):
    """
    判断一个整数是否是素数
    """
    if num < 2:
        return False
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True

def factorize(num):
    """
    分解一个整数的质因数
    """
    factors = []
    i = 2
    while i <= num:
        if num % i == 0:
            factors.append(i)
            num /= i
        else:
            i += 1
    return factors

# 测试代码
num = int(input("请输入一个整数:"))
if is_prime(num):
    print(num, "是素数")
else:
    print(num, "的质因数分解为:", end="")
    factors = factorize(num)
    for i in range(len(factors)):
        if i == len(factors) - 1:
            print(factors[i])
        else:
            print(factors[i], "*", end="")

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/188713
  • 你也可以参考下这篇文章:Python解决网吧收费系统,远控网吧电脑设备!
  • 除此之外, 这篇博客: 利用 python 在本地数据集创建训练集和测试集中的 根据自己的数据集,自动划分训练集、测试集 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 举个栗子:
    	已经分好的文件:
    

    在这里插入图片描述

    	origin 文件夹有三类数据:good,bad,m,每类文件夹包含不同数量的图片,如下:
    

    在这里插入图片描述

    	需要生成数据集的文件:
    

    在这里插入图片描述

    	结果:根据设置好的比例,划分数据集和测试集
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    	完整代码:
    
    import random
    import os
    import shutil
    import glob
    class get_data_sets():
        '''
        input_address:输入地址
        output_adddress:输出的地址
        train_ratio:训练集站比,(0,1)
        '''
        def __init__(self,input_address,output_adddress, train_ratio):
            self.__input_address = input_address
            self.__output_address = output_address
            self.__train_ratio = train_ratio
        def run(self):
            #获取数据种类
            class_address_list = glob.glob(self.__input_address + '\*')
            class_name_list = [ class_address.split('\\')[-1] for class_address in class_address_list ]
            #print
            print('数据分类为 {} \n训练集占比 {}'.format((class_name_list), self.__train_ratio))
            
            #新建训练、测试文件夹
            train_address = self.__output_address + '/train'
            test_address = self.__output_address + '/test'
            
            os.mkdir(train_address)
            os.mkdir(test_address)
            
            #在训练、测试文件夹 新建 类型 文件
            for class_name in class_name_list:
                os.mkdir(train_address + '/{}'.format(class_name))
                os.mkdir(test_address + '/{}'.format(class_name))
            
            #获取训练、测试数据
            class_num = [ len(os.listdir(all_class_address))  for all_class_address in class_address_list ] # 获取每类数据长度
            
            random.seed(2) #设置种子,保证每次分类一致
            train_address_list = [train_address + '/{}'.format(class_name)  for class_name in class_name_list]
            test_address_list = [test_address + '/{}'.format(class_name)  for class_name in class_name_list]
    
            #复制文件
            for i,num in enumerate(class_num):
                all_index = set(range(num))
                train_index = random.sample(all_index,int(self.__train_ratio*num))
                test_index = all_index - set(train_index)
                
                data_list = glob.glob(class_address_list[i] + '\*')
                   
                for _ in train_index:
                    shutil.copy(data_list[_], train_address_list[i])
    
                for _ in test_index:
                    shutil.copy(data_list[_], test_address_list[i] )
            
            print('创建完成')
            
    
    
    
    	运行代码:
    
    input_address = r"D:\A_test\csdn_test\data_sets\origin"
    output_address = "D:\A_test\csdn_test\data_sets\data"
    a = get_data_sets(input_address,output_address,0.6)
    a.run()
    

    在这里插入图片描述

  • 您还可以看一下 张日智老师的python安全开发/高级渗透技术课程中的 4.5 实战多线程爬取妹子图片上小节, 巩固相关知识点