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 相关文章推荐
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
Jan 19 Python
Python的subprocess模块总结
Nov 07 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
Dec 18 Python
Django中的Signal代码详解
Feb 05 Python
python3.7.0的安装步骤
Aug 27 Python
python实现简单的文字识别
Nov 27 Python
python单线程文件传输的实例(C/S)
Feb 13 Python
对Python3中列表乘以某一个数的示例详解
Jul 20 Python
利用pyecharts实现地图可视化的例子
Aug 12 Python
python如何将两张图片生成为全景图片
Mar 05 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
May 09 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 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框架的性能
2008/01/10 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
通过jQuery源码学习javascript(二)
2012/12/27 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
2018/11/28 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
python中的数组赋值与拷贝的区别详解
2019/11/26 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
建筑施工员岗位职责
2013/11/26 职场文书
社会实践感言
2014/01/25 职场文书
小学庆六一活动方案
2014/02/28 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
关于安全演讲稿
2014/05/09 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
小学感恩主题班会
2015/08/12 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript