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 相关文章推荐
python在多玩图片上下载妹子图的实现代码
Aug 13 Python
python连接池实现示例程序
Nov 26 Python
Python实现求最大公约数及判断素数的方法
May 26 Python
全面了解Python环境配置及项目建立
Jun 30 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
Dec 05 Python
Python各种扩展名区别点整理
Feb 27 Python
python 下载m3u8视频的示例代码
Nov 11 Python
Python爬取梨视频的示例
Jan 29 Python
python模块内置属性概念及实例
Feb 18 Python
Python 把两层列表展开平铺成一层(5种实现方式)
Apr 07 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 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蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
基于php实现的验证码小程序
2016/12/13 PHP
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
Vue使用zTree插件封装树组件操作示例
2019/04/25 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
2019/09/02 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
python通过索引遍历列表的方法
2015/05/04 Python
浅谈Python的文件类型
2016/05/30 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
Python实现Dijkstra算法
2018/10/17 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
python django model联合主键的例子
2019/08/06 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
Django返回HTML文件的实现方法
2020/09/17 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
幼儿园保育员辞职信
2014/01/12 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
CSS基础详解
2021/10/16 HTML / CSS