菜鸟IT的博客
"菜鸟IT"的博客 (WWW.17WX.NET)
熟悉HTML网站的前端美工到切图制作,搭配DIV+TABLE+CSS,熟悉Fireworks和Dreamwear的网站制作实战应用,专注于学习和记录JS脚本对于网页改造的各种新奇技术.平时的工作既要做销售,也要做前端开发,也要做后期的客户售后维护,此博客为博主自己平时的IT工作的实战学习笔记,记录自己工作和学习中遇到的各种坑,也分享给有需要的新人...
博客首页 网站前端制作 网赚 软件应用 Windows系统 Python
谷歌联盟提供的广告↓
[网站前端制作]有关标签↓
[网赚]有关标签↓
[软件应用]有关标签↓
[Windwos系统]有关标签↓
 | 
菜鸟IT的博客 >> Python

多线程并发找完数 | from concurrent.futures import ThreadPoolExecutor | ThreadPoolExecutor
# -*- coding:utf-8 -*-
import time
# 导入库,用于求:数组(数字列表)的数字相加之和
from functools import reduce

# 导入线程池有关的库
from concurrent.futures import ThreadPoolExecutor


import datetime
# 记录开始时间
starttime = datetime.datetime.now()

import threading
# 完数就是:某个数的所有因数(除了这个数本身)相加之和,等于这个数本身

# 写1个函数,求某个数字的所有因数。首先1个规律,因数肯定小于这个数的1半。
# 而且因数肯定从1开始,肯定大于1,包含1本身
def ZhaoYinShu(m):
    YinShuList=[]
    # 遍历查找因数范围,
    for i in range(1,m//2+1):
        # 如果i能被m整除,那么i就是m的因数,然后就加入因数列表。
        if(m%i==0):
            YinShuList.append(i)
    return YinShuList

# 测试找某个数的全部因数
print("测试查找某个数(比如100)的全部真因数(不包含这个数本身)",ZhaoYinShu(100))

# 求这个数的所有因数之和,测试100这个数字的全部真因数之和。
AllTrueYinShuZhiHe=reduce(lambda x,y:x+y,ZhaoYinShu(100))
print("测试查找某个数(比如100)的全部真因数之和:",AllTrueYinShuZhiHe)
print("#"*50)

# 定义1个函数,判断某个数是否“完数”。
def FindWanShu(fff):
    YinShuHe=0
    for j in ZhaoYinShu(fff):
        YinShuHe=YinShuHe+j
    if(fff==YinShuHe):
        return fff
    else:
        return 0





# 定义1个输入项
numFanWei=int(input("输入1个整数代表你想查找完数的数字范围:"))
numFanWei_List=[]
for i in range(1,numFanWei+1):
    numFanWei_List.append(i)


# 定义1个最大容纳数量为50的线程池
with ThreadPoolExecutor(max_workers=100) as pool:
    WanShuList=pool.map(FindWanShu,numFanWei_List)
    for WanShu in WanShuList:
        if(WanShu!=0):
            print("找到完数:",WanShu,"。成功时间:",time.strftime('%Y{}%m{}%d{} %H{}%M{}%S{}',time.localtime()).format("年","月","日","时","分","秒"))

# 结束时间
endtime = datetime.datetime.now()
# 输出程序运行时间
print("找到全部完数消耗的时间:",(endtime - starttime).seconds,"秒。")


————————————

输出结果:


测试查找某个数(比如100)的全部真因数(不包含这个数本身) [1, 2, 4, 5, 10, 20, 25, 50]
测试查找某个数(比如100)的全部真因数之和: 117
##################################################
输入1个整数代表你想查找完数的数字范围:10000
找到完数: 6 。成功时间: 2022年02月06日 20时08分19秒
找到完数: 28 。成功时间: 2022年02月06日 20时08分19秒
找到完数: 496 。成功时间: 2022年02月06日 20时08分19秒
找到完数: 8128 。成功时间: 2022年02月06日 20时08分19秒
找到全部完数消耗的时间: 11 秒。

Process finished with exit code 0

菜鸟IT博客[2022.02.06-20:09] 访问:252
[关闭窗口]  
Google公司(谷歌联盟)提供的广告↓
本页的htm伪静态链接网址:分享链接加载中....

收藏链接: www.ems-help.com | www.17post.com | www.17track.wang | www.kd100.wang | www.17wx.net | www.11185cha.com | www.sftrack.net | www.kdjiage.com | m.kdjiage.com | www.expba.net | m.expba.net | www.pptrack.net
学习Python的关键点
【1】★ Python:解决小数点后面四舍五入的精度丢失问题(二进制转换导致,另解决prec动态保留小数点后多少位)
【2】 ★ Python:单个py文件打包exe程序
【3】 ★ 给自己写的exe程序加上注册授权保护
【4】 ★ Python的http请求超时设置(timeout)| 异常类型/捕获异常
【5】 ★ Python的多线程的线程池的使用| ThreadPoolExecutor
【6】 ★ Python能用到的免费代理IP网址
【7】 ★ Python_用于测试代理IP是否有效
【8】 ★ Python Requests post() 方法 | post方式提交api
【9】 ★★★ Python Tkinter Gui视频学习教程
【10】 ★★★ Python 小项目实战-视频学习教程
【11】 ★★★ Python 爬虫项目实战-视频教程
【12】 ★★★ 高级进阶的关于python的五本书: 「Python从菜鸟到高手」、「html5+css3+JavaScript从入门到精通」、「Django Web应用开发实战」、「漫画算法」
【13】 ★★★ Request库-爬虫
【14】 ★★★ Python 图形识别文字
【15】 ★★★ Python 滑动验证码识别【图文教程】
【16】 ★★★ Python 滑动验证码识别【视频教程】
【18】 ★★★ Python 关于Class类的应用【视频教程】
【19.1】 ★★★ Python 关于进度条的制作(1)
【19.2】 ★★★ Python 关于进度条的制作(2)
【20】★★★ Python 抓取某宝的商品信息
【21】★★★ Python 一小时学会全栈开发浏览器版本的企业管理系统【视频教程】
【22】★★★ Python 全栈开发——前端+后端【视频教程】
【23】★★★ Layui 浏览器前端模块化UI框架
【24】★★★ Python-Django-Web应用开发【视频教程】
【25】★★★ Python 从0开始学【视频教程】
【26】★★★ Python的tkinter界面打包exe以后关于icon图标报错的解决办法!
【27】★★★ Python的tkinter视频学习教程【N个系统性学习合集视频】★★★
【28】★★★ Python全栈开发【视频教程】★★★
Copyright © 17WX.NET 版权所有 Manage 沪ICP备13006304号-5 沪公网安备31011702006630号
,sitemap.html,sitemap.xml
网站人气值: