Python Collatz序列实现过程解析

 更新时间:2019年10月12日 09:59:23   作者:WLinux的随笔  
这篇文章主要介绍了Python Collatz序列实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

编写一个名为 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中使用__slots__方法的详细教程

    在Python中使用__slots__方法的详细教程

    这篇文章主要介绍了在Python中使用__slots__方法的详细教程,__slots__方法是Python的一个重要内置类方法,代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • python matplotlib工具栏源码探析二之添加、删除内置工具项的案例

    python matplotlib工具栏源码探析二之添加、删除内置工具项的案例

    这篇文章主要介绍了python matplotlib工具栏源码探析二之添加、删除内置工具项的案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • tensorflow中tf.slice和tf.gather切片函数的使用

    tensorflow中tf.slice和tf.gather切片函数的使用

    今天小编就为大家分享一篇tensorflow中tf.slice和tf.gather切片函数的使用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python 画条形图(柱状图)实例

    python 画条形图(柱状图)实例

    这篇文章主要介绍了python 画条形图(柱状图)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 使用Python编程分析火爆全网的鱿鱼游戏豆瓣影评

    使用Python编程分析火爆全网的鱿鱼游戏豆瓣影评

    本文来为大家介绍如何使用Python爬取影评的操作,主要是爬取《鱿鱼游戏》在豆瓣上的一些影评,对数据做一些简单的分析,用数据的角度重新审视下这部剧,有需要的朋友可以借鉴参考下
    2021-10-10
  • 上帝为你开了一扇窗之Tkinter常用函数详解

    上帝为你开了一扇窗之Tkinter常用函数详解

    构思了很长一段时间,总感觉不够有趣,于是打算出一个完整的系列,让大家一起感受python的乐趣.这个系列着重以系统库中的tkinter为中心来围绕进行编写.因此我们的第一步是导入模块, 第一节就来为大家建立一个窗口 ,需要的朋友可以参考下
    2021-06-06
  • Python函数默认参数设置的具体方法

    Python函数默认参数设置的具体方法

    本文主要介绍了Python函数默认参数设置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 使用pyinstaller逆向.pyc文件

    使用pyinstaller逆向.pyc文件

    这篇文章主要介绍了使用pyinstaller逆向.pyc文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Flask中jinja2的继承实现方法及实例

    Flask中jinja2的继承实现方法及实例

    在本篇文章里小编给大家分享的是一篇关于Flask中jinja2的继承实现方法及实例,有兴趣的朋友们可以学习下。
    2021-03-03
  • python taipy库轻松地将数据和机器学习模型转为功能性Web应用

    python taipy库轻松地将数据和机器学习模型转为功能性Web应用

    taipy 是一个开源的 Python 库,任何具有基本 Python 技能的人都可以使用,对于数据科学家、机器学习工程师和 Python 程序员来说,它是一个方便的工具,借助 Taipy,你可以轻松地将数据和机器学习模型转变为功能性的 Web 应用程序
    2024-01-01

最新评论