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中List.index()方法的使用教程
May 20 Python
Python中列表和元组的使用方法和区别详解
Dec 30 Python
Python3安装Scrapy的方法步骤
Nov 23 Python
详解如何使用Python编写vim插件
Nov 28 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 Python
django模板结构优化的方法
Feb 28 Python
Python基于scipy实现信号滤波功能
May 08 Python
Pandas 缺失数据处理的实现
Nov 04 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
浅谈哪个Python库才最适合做数据可视化
Jun 28 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 裁剪图片成固定大小代码方法
2009/09/09 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
php ImageMagick windows下安装教程
2015/01/26 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
JavaScript中常用的运算符小结
2012/01/18 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
写JQuery插件的基本知识
2013/11/25 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
Python学习笔记_数据排序方法
2014/05/22 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
Python自动发邮件脚本
2017/03/31 Python
SVM基本概念及Python实现代码
2017/12/27 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
Django实现文件上传下载功能
2019/10/06 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
Python内存泄漏和内存溢出的解决方案
2020/09/26 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
2019通用版新员工入职培训方案!
2019/07/11 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
Python基于Opencv识别两张相似图片
2021/04/25 Python