Python学习笔记——Collatz序列

 Collatz序列,也称为3n+1问题,遵循以下3个规则获得序列中的下一个数:

  • 1、如果n是偶数,则下一个数 n = n / 2
  • 2、如果n是奇数,则下一个数 n = n * 3 +1
  • 3、如果n为1,则停止计算;否则重复计算获取下一个数

从任意一个整数开始,按照以上规则计算,序列的最后一个元素都是1。

# //
# Collatz序列
# 说明:Collatz序列,也称为3n+1问题,遵循以下3个规则来
# 获得序列中的下一个数:
# 1、如果n是偶数,则下一个数 n = n / 2
# 2、如果n是奇数,则下一个数 n = n * 3 +1
# 3、如果n为1,则停止计算;否则重复计算获取下一个数。
#
# 从任意整数开始,按照以上规则,序列最后一个元素是1。
# //
import sys,timeprint('''
*** Collatz序列***********************************************
*
* Collatz序列,也称为3n+1问题,遵循以下3个规则获得序列中的下一个数:
* 1、如果n是偶数,则下一个数 n = n / 2
* 2、如果n是奇数,则下一个数 n = n * 3 +1
* 3、如果n为1,则停止计算;否则重复计算获取下一个数。
*
* 从任意一个整数开始,按照以上规则计算最终都能得到1。
**************************************************************  
''')def start():print('请输入一个大于0的整数数字,输入QUIT(退出):')while True:# 用户输入response = input('>>>')# 用户输入quit退出if response.lower().endswith('quit'):sys.exit()if (response.isdecimal()) and (int(response) > 0):n = int(response)breakelse:print('输入有误,请输入一个大于0的整数。')print(n,end='',flush=True)while n != 1:if n % 2 == 0:      # n为偶数n = n // 2else:n = n * 3 + 1   # n为奇数print(', ',str(n),end='',flush=True)      time.sleep(0.2)  # 休眠0.2秒,打印n缓缓输出的效果if __name__ == '__main__':while True:# 启动计算start()# 询问是否想再试一个数   print('您是否要再试一个数字?(yes or no)')if not input('< yes or no > ').lower().startswith('y'):print('谢谢,再见!')break

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/661476.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

golang网络编程day4

golang网络编程day4 get和post的区别resful编程golang请求头golangheader内容类型和字符编码http请求头缓存和过期应用golang 请求头跨域请求应用http请求头用户代理应用golang响应头 get和post的区别 在前面的学习我只在应用场景上做了一个区别的举例,这里是进一步的学习有哪…

菜鸡后端的前端学习记录-2

前言 记录一下看视频学习前端的的一些笔记&#xff0c;以前对Html、Js、CSS有一定的基础&#xff08;都认得&#xff0c;没用过&#xff09;&#xff0c;现在不想从头再来了&#xff0c;学学Vue框架&#xff0c;不定时更新&#xff0c;指不定什么时候就鸽了。。。。 忘了记一下…

前端工程化基础(四):Git代码版本控制工具详解

Git版本控制工具详解 认识版本控制&#xff08;版本控制&#xff09; 是维护 工程蓝图的标准做法&#xff0c;能追踪工程蓝图从诞生一直到定案的过程版本控制也是 一种软件工程技巧&#xff0c;借此能在软件开发的过程中&#xff0c;确保不同的人所编辑的同一程序都能得到同步…

MySQL的存储格式,MySQL的触发器

1&#xff0c;MySQL的存储格式 在MySQL中&#xff0c;创建存储函数使用create function关键字&#xff0c;其基本形式如下: create function func_name ( [param_name type[ ,...]]) returns type [characteristic ... ] begin routine_body end; 参数说明: (1) func_…

tcp/ip模型中,帧是第几层的数据单元?

在网络通信的世界中&#xff0c;TCP/IP模型以其高效和可靠性而著称。这个模型是现代互联网通信的基石&#xff0c;它定义了数据在网络中如何被传输和接收。其中&#xff0c;一个核心的概念是数据单元的层级&#xff0c;特别是“帧”在这个模型中的位置。今天&#xff0c;我们就…

密码输入检测

文章目录 题目描述输入描述输出描述示例一说明代码解释 题目描述 给定用户密码输入流 input&#xff0c;输入流中字符’<表示退格&#xff0c;可以清除前一个输入的字符&#xff0c;请你编写程序&#xff0c;输出最终得到的密码字符&#xff0c;并判断密码是否满足如下的密…

MySQL 处理JSON字符串

目录 前言 JSON值的部分更新 创建JSON值 JSON 值的规范化、合并和自动包装 合并JSON值 搜索和修改JSON值 JSON路径 JSON值的比较和排序 JSON值的聚合 前言 现在很多数据会以json格式存储&#xff0c;如果你还在用like查询json字符串&#xff0c;那你就OUT了&#xff0…

详解 Kruskal 算法的实现

一、算法原理 Kruskal 算法用于求最小生成树&#xff0c;它的主要思路是基于并查集&#xff0c;算法的主要原理如下&#xff1a; 假设图中有 n 个点&#xff0c;则&#xff1a; step 1&#xff1a;Kruskal 算法假定初始时每个点都只属于自己所在的并查集&#xff08;即初始时…

有趣的css - 简约的动态关注按钮

页面效果 此效果主要使用 css 伪选择器配合 css content 属性&#xff0c;以及 transition(过渡)属性来实现一个简约的动态按钮效果。 此效果可适用于关注按钮、详情按钮等&#xff0c;增强用户交互体验。 核心代码部分&#xff0c;简要说明了写法思路&#xff0c;看 css 部分的…

AUTOSAR内存篇 -Flash EEPROM Emulation(FEE)

文章目录 简介功能介绍通常行为寻址机制和分段地址计算擦除循环次数的限制“立即”数据的处理管理块正确性信息缓存对齐API介绍类型定义函数定义Fee_InitFee_ReadFee_WriteFee_CancelFee_GetStatus<

一文详解docker swarm

文章目录 1、简介1.1、涉及到哪些概念&#xff1f;1.2、需要注意什么&#xff1f; 2、集群管理2.1、创建集群2.2、将节点加入集群2.3、查看集群状态。2.4、将节点从集群中移除2.5、更新集群2.6、锁定/解锁集群 3、节点管理4、服务部署4.1、准备4.2、服务管理4.2.1、常用命令4.2…

[C++]继承(续)

一、基类和派生类对象赋值转换 在public继承时&#xff0c;父类和子类是一个“is - a”的关系。 子类对象赋值给父类对象/父类指针/父类引用&#xff0c;我们认为是天然的&#xff0c;中间不产生临时对象&#xff0c;也叫作父子类赋值兼容规则&#xff08;切割/切片&#xff…

idea查看日志的辅助插件 --- Grep Console (高亮、取消高亮)

&#x1f680; 分享一款很有用的插件&#xff1a;Grep Console &#x1f680; 我们在查看日志的时候可能会有遗漏&#xff0c;使用这款插件可以让特定的关键词高亮&#xff0c;可以达到不遗漏的效果&#xff01; 如果你是一个开发者或者对日志文件分析感兴趣&#xff0c;不要…

记录一次使用ant design 中 ConfigProvider来修改样式导致样式改变的问题(Tabs嵌套Tabs)

一 说明 继之前的一篇文章&#xff1a;antd5 Tabs 标签头的文本颜色和背景颜色修改 后&#xff0c;发现在被修改后的Tab中继续嵌套Tabs组件&#xff0c;这个新的Tabs组件样式跟外层Tabs样式也是一致的&#xff0c;如下图所示&#xff1a; 二 原因 在修改外层tabs样式时&…

Axios 和 Ajax 的区别

一、Axios 和 Ajax 的区别 1、Axios是一个基于Promise的HTTP库&#xff0c;而Ajax是对原生XHR的封装&#xff1b; 2、Ajax技术实现了局部数据的刷新&#xff0c;而Axios实现了对ajax的封装。 二、Axios 和 Ajax 的区别及优缺点 1、什么是Ajax Ajax是对原生XHR的封装&#xff0…

又涨又跌 近期现货黄金价格波动怎么看?

踏入2024年一月的下旬&#xff0c;现货黄金价格可以说没了之前火热的状态&#xff0c;盘面上是又涨又跌。面对这样的行情&#xff0c;很多投资者不知道如何看了。下面我们就来讨论一下怎么把握近期的行情。 先区分走势类型。在现货黄金市场中有两种主要的走势类型&#xff0c;一…

【SpringCloud】使用OpenFeign进行微服务化改造

目录 一、需求与背景二、OpenFeign 远程调用技术原理三、项目代码演示3.1 引入依赖3.2 实现OpenFeign注解修饰接口3.3 指定 OpenFeign 远程调用接口的扫描路径 四、OpenFeign 在日志中打印Request和Response五、OpenFeign 客户端超时配置六、使用 OpenFeign 实现服务降级6.1 实…

《区块链简易速速上手小册》第10章:区块链的未来与趋势(2024 最新版)

文章目录 10.1 区块链的未来展望10.1.1 基础知识10.1.2 主要案例&#xff1a;区块链在金融领域的发展10.1.3 拓展案例 1&#xff1a;区块链在供应链管理中的应用10.1.4 拓展案例 2&#xff1a;区块链在身份管理和隐私保护中的应用 10.2 新兴技术与区块链的融合10.2.1 基础知识1…

【已解决】QT如何加载qss文件

翻阅我的博客&#xff0c;发现没有写这方面文章&#xff0c;qt如何加载qss文件。今天补上一篇关于qt如何加载qss文件。写完这篇博客&#xff0c;未来有相关问题&#xff0c;直接可以从博客里去搜。 解决方案 在项目里写完qss文件&#xff0c;在main文件里只需要追加这句话。 …

智能家居的网关新形态:Aqara 方舟智慧中枢 M3 体验

如果说在刚刚结束的 2023 年有哪些备受期待的智能家居产品&#xff0c;Aqara 方舟智慧中枢 M3 一定榜上有名&#xff0c;我的多位朋友也曾在装修过程中多次向我询问是否有这款产品的相关资讯&#xff1b;谁能想到自从在 2022 年 11 月首次亮相之后&#xff0c;这款产品一直等了…