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实现文件分组复制到不同目录的例子
Jun 04 Python
python网络编程学习笔记(九):数据库客户端 DB-API
Jun 09 Python
Python下singleton模式的实现方法
Jul 16 Python
Python合并字典键值并去除重复元素的实例
Dec 18 Python
python中模块的__all__属性详解
Oct 26 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
python找出因数与质因数的方法
Jul 25 Python
python3 selenium自动化测试 强大的CSS定位方法
Aug 23 Python
浅谈Python 参数与变量
Jun 20 Python
在Tensorflow中实现leakyRelu操作详解(高效)
Jun 30 Python
基于python实现简单C/S模式代码实例
Sep 14 Python
解决virtualenv -p python3 venv报错的问题
Feb 05 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数组实例总结与说明
2011/08/23 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
xtree.js 代码
2007/03/13 Javascript
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
2011/07/31 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
Angular JS数据的双向绑定详解及实例
2016/12/31 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
将python代码和注释分离的方法
2018/04/21 Python
详解python编译器和解释器的区别
2019/06/24 Python
python处理document文档保留原样式
2019/09/23 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
python中if及if-else如何使用
2020/06/02 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
JBL英国官网:JBL UK
2018/07/04 全球购物
小学生班会演讲稿
2014/01/09 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
园艺师求职信
2014/04/27 职场文书
我的老师教学反思
2014/05/01 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
119消防日活动总结
2014/08/29 职场文书
python实现图片批量压缩
2021/04/24 Python