《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中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示