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模拟登陆Tom邮箱示例分享
Jan 13 Python
Python 元组(Tuple)操作详解
Mar 11 Python
python正则分析nginx的访问日志
Jan 17 Python
python编写分类决策树的代码
Dec 21 Python
Python操作mongodb的9个步骤
Jun 04 Python
python 列表降维的实例讲解
Jun 28 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
基于python的Paxos算法实现
Jul 03 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
Python读取表格类型文件代码实例
Feb 17 Python
python 实现两个线程交替执行
May 02 Python
python中pdb模块实例用法
Jan 15 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 HtmlReplace输入过滤安全函数
2010/07/03 PHP
mysql_num_rows VS COUNT 效率问题分析
2011/04/23 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
调试PHP程序的多种方法介绍
2014/11/06 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
JS 控件事件小结
2012/10/31 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
2020/05/11 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
四查四看剖析材料
2014/02/14 职场文书
调研汇报材料范文
2014/08/17 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
教师党员个人剖析材料
2014/09/29 职场文书
毕业生学校组织意见
2015/06/04 职场文书
学者《孟子》名人名言
2019/08/09 职场文书
MySQL三种方式实现递归查询
2022/04/18 MySQL