Python Collatz序列实现过程解析


Posted in Python onOctober 12, 2019

编写一个名为 collatz()的函数,它有一个名为 number 的参数。如果参数是偶数,那么 collatz()就打印出 number // 2, 并返回该值。如果 number 是奇数, collatz()就打印并返回 3 * number + 1。然后编写一个程序, 让用户输入一个整数, 并不断对这个数调用 collatz(), 直到函数返回值1(令人惊奇的是, 这个序列对于任何整数都有效, 利用这个序列,你迟早会得到 1! 既使数学家也不能确定为什么。 你的程序在研究所谓的“Collatz序列”,它有时候被称为“最简单的、 不可能的数学问题”)。

在项目中添加 try 和 except 语句,检测用户是否输入了一个非整数的字符串。正常情况下, int()函数在传入一个非整数字符串时,会产生 ValueError 错误,比如 int('puppy')。在 except 子句中,向用户输出一条信息,告诉他们必须输入一个整数。

示例代码:

def collatz(number):
 a = number % 2
 if a == 0:
  number = number//2
  return number
 elif a == 1:
  number = number*3+1
  return number
try:
 number = int(input("请输入一个整数:"))
 while number != 1:
  number = collatz(number)
  print(number)
except ValueError:
 print('必须输入整数')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
Python使用MONGODB入门实例
May 11 Python
Python内置函数delattr的具体用法
Nov 23 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
python try except返回异常的信息字符串代码实例
Aug 15 Python
python excel转换csv代码实例
Aug 26 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
python,Java,JavaScript实现indexOf
Sep 09 Python
python 两种方法删除空文件夹
Sep 29 Python
Python基于Webhook实现github自动化部署
Nov 28 Python
python爬取某网站原图作为壁纸
Jun 02 Python
python logging日志模块原理及操作解析
Oct 12 #Python
Python爬虫之urllib基础用法教程
Oct 12 #Python
python 生成器和迭代器的原理解析
Oct 12 #Python
python 表格打印代码实例解析
Oct 12 #Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 #Python
python3.7将代码打包成exe程序并添加图标的方法
Oct 11 #Python
python 多进程并行编程 ProcessPoolExecutor的实现
Oct 11 #Python
You might like
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
PHP生成Flash动画的实现代码
2010/03/12 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
JQuery jsonp 使用示例代码
2009/08/12 Javascript
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
vue开发移动端底部导航条功能
2020/04/08 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
django基础学习之send_mail功能
2019/08/07 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
python实现IOU计算案例
2020/04/12 Python
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
工商技校毕业生自荐信
2013/11/15 职场文书
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
《蜗牛》教学反思
2014/02/18 职场文书
就业协议书范本
2014/04/11 职场文书
民政局离婚协议书范本
2014/10/20 职场文书
小学生班干部竞选稿
2015/11/20 职场文书
Python天气语音播报小助手
2021/09/25 Python
Java Spring读取和存储详细操作
2022/08/05 Java/Android