《python程序语言设计》2018版第5章第35题求完全数,解题经历,我认为的正确代码放在最后

本文主要是介绍《python程序语言设计》2018版第5章第35题求完全数,解题经历,我认为的正确代码放在最后,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
5.35从4月开始一直到成功,此文章将所有的记录和不同阶段代码展现给大家。但是没有配图,我最后成功的代码放在了最后。

2024.04.15
05.35.01version
求完整数,这个让我突然有点蒙。我什么时候能求完整数呢??
正因子之和。我该怎么求
2=1+1 这不是正因子。应该是不同的正因子加在一起。
正因数是一个整数中大于0的因数,且是整数不能是负数

if z % b = a and b!=a:if b + a == z:print(z is profit number)

首先等于2从2开始进行正因子的操作
b = 2
基础数肯定要大于2小于10000

base_num =3
ele_num = 0
while base_num < 10000:if base_num % b ==0:ele_num = belif base_num %b != 0:b +=1base_num +=1

不使用函数概念。需要直接先将求因子的公式铺开概念
依次找出3到10000之间的数,一个一个的进行正因子的对比!!
那么就是如何进行一个一个的取值呢?

b = 2
# 基础数肯定要大于2小于10000
base_num = 4
ele_num = 0
total_num = 0
while base_num < 10:if base_num % b == 0:base_num /= bele_num = bprint(ele_num, base_num)elif base_num % b != 0:b += 1ele_num = bprint(ele_num)# if total_num == base_num:#     print(f"This base is profit{base_num}")total_num += ele_num# print(total_num)# print(ele_num)base_num += 1

这是第一阶段的代码里面的备注部分是当时用来测试代码显示结果用的。
2024.04.16
整除。我是不是可以
2024.04.17

先建立基本的框架
基础数和循环的限制
整数被整除等于0 然后因数相加相等的即为完全数

代码如下:

base_num = 2
div_num = 1
div_after_num = 0
div_after_total = 0
while base_num < 10:# 如果正整数和其正因子相加不相等则继续循环if base_num != div_after_num:if base_num % div_num == 0:base_num /= div_numdiv_after_num = base_num / div_numelif base_num % div_num != 0:div_num += 1if base_num % div_num == 0:base_num /= div_numdiv_after_num = base_num / div_numprint(f"this number {div_after_total} is profit.")div_after_total += div_after_num# print(f"this number {div_after_total} is profit.")base_num += 1

脑袋一团乱。继续干活把。 先停一下
2024.04.18
2024.04.20
头晕目眩开始了新的一天。真的变成代码好累。
为什么我的运算变成这样。
看来我要舍去一些东西。

难点1
正因子的求解。
一个数不断的除,如果没有余数即为正因子可以继续整除。否则增加一个数 #这是一个点。试一下


base_num = 2
div_num = 2
while base_num < 10:if base_num % div_num == 0:base_num /= div_numprint(base_num, div_num)else:base_num += 1print("next", base_num)base_num += 1

结果却很尴尬,继续分析。不过我感觉方向还是对的。

    if base_num % div_num == 0 and base_num / div_num == 1:

加了这个条件似乎也没有解决根本的问题。
我不想参考上一次成功的代码。我甚至都不想提。然后完全再来写。希望自己能够写透,写明白
我现在要确定什么是正因子。或者是在我自己的这个算式里谁是正因子。
1、能被整除,不论除数是多少都能整除。
2、被除数已经为1
方法对。但我突然想起来。是不是先练习求一个被除数的正因子呢??
python代码如下


base_num = 6
div_num = 2
while base_num != 1:if base_num % div_num == 0:base_num/=div_numprint(base_num,div_num)else:div_num+=1

我感觉先从但一个数的研究开始更好,这段代码并不是我想要的。虽然是按我想法设计的,但是结果却不熟。

base_num = 28
div_num = 1
# 新建一个变量用来存储除数
total_num = 0
while base_num != 1:if base_num % div_num == 0:base_num /= div_numprint(base_num)total_num = base_numif base_num % div_num == 0 and base_num % (div_num + 1) != 0:div_num += 1elif base_num % div_num != 0:div_num += 1

玩游戏让我脑袋疼。昨天画了大概4副曼陀罗速写,是不是画多了

2024.04.21
我现在已经尽力的去分析,包括调来了5.18的代码也是无济于事。
2024.05.02
终于完成了学校4月反馈表和日志的提交。一天真的是累呀
不知道还能不能有新的想法

如何求除数和被除数的关系。是一个点。

2024.05.03
任何想法都无法复制,什么样的因才是得果呢??
编写代码的目的就是在因的环境中创造。
循环的起点
1、什么是循环的起点。什么条件是我们循环语句的开始。
整除一个数,因子正因子 这个题也是求正因子。真的是巧合,
没想到这个时候我正好刚刚对因果的关系有了新的想法。
这并不是我创造至少我在慢慢的中观察的一种结论。
我们因为果而去认识时间,接受事物、甚至是宗教。

    28 % 1 ==0 28 % 2 ==028 % 3 ==1

那么我做一个判断是否可以呢?
就是不断的用数字来进行判断只要是因子整除等于0,就留下并累加。
那么循环为真来作为循环开始的条件如何
这个判断成功了

    if base_num % div_num == 0:total_num= div_numprint(total_num)div_num += 1

代码成功,并且我也找到了替代while true的代码

base_num = 6
div_num = 1
# 新建一个变量用来存储除数
total_num = 0
while div_num != base_num:if base_num % div_num == 0:total_num= div_numprint(total_num)total_num +=total_numif total_num ==base_num:print(f"This number {base_num} is perfect number ")div_num += 1else:div_num+=1

base_num是要求的完全数。大家可以试试28等等。哈哈
祝大家学习快乐。明天上班顺利

这篇关于《python程序语言设计》2018版第5章第35题求完全数,解题经历,我认为的正确代码放在最后的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049731

相关文章

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以