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实现排序算法
Feb 14 Python
使用Python导出Excel图表以及导出为图片的方法
Nov 07 Python
对Python中内置异常层次结构详解
Oct 18 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
python实现朴素贝叶斯算法
Nov 19 Python
python 读取Linux服务器上的文件方法
Dec 27 Python
python numpy 矩阵堆叠实例
Jan 17 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
Jun 24 Python
python破解同事的压缩包密码
Oct 14 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
Dec 14 Python
Python Pandas模块实现数据的统计分析的方法
Jun 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
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
php使用qr生成二维码的示例分享
2014/01/20 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
php 批量添加多行文本框textarea一行一个
2014/06/03 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
Javascript的this详解
2019/03/23 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
python 远程统计文件代码分享
2015/05/14 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
表扬信格式
2014/01/12 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
国庆宣传标语
2014/06/30 职场文书
学习型党组织心得体会
2014/09/12 职场文书
高中学生自我评价范文
2014/09/23 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
红色影片观后感
2015/06/18 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL