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 SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
May 06 Python
Python实现从订阅源下载图片的方法
Mar 11 Python
Python中进程和线程的区别详解
Oct 29 Python
python编程培训 python培训靠谱吗
Jan 17 Python
用Python将一个列表分割成小列表的实例讲解
Jul 02 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
Apr 11 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
Apr 17 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
python实现H2O中的随机森林算法介绍及其项目实战
Aug 29 Python
Matplotlib.pyplot 三维绘图的实现示例
Jul 28 Python
Django restful framework生成API文档过程详解
Nov 12 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的历史和优缺点
2006/10/09 PHP
php中截取字符串支持utf-8
2007/01/18 PHP
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
微信支付开发维权通知实例
2016/07/12 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
javascript 二进制运算技巧解析
2012/11/27 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
jQuery对html元素取值与赋值的方法
2013/11/20 Javascript
JavaScript中的object转换成number或string规则介绍
2014/12/31 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
2015/11/30 Javascript
jQuery实现select模糊查询(反射机制)
2017/01/14 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
token 机制和实现方式
2020/12/15 Javascript
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
Django继承自带user表并重写的例子
2019/11/18 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
Python实现链表反转的方法分析【迭代法与递归法】
2020/02/22 Python
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
开学第一天的感想
2015/08/10 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
Go语言入门exec的基本使用
2022/05/20 Golang