Python Collatz序列实现过程解析

作者:WLinux的随笔 时间:2023-01-11 18:26:23 

编写一个名为 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('必须输入整数')

来源:https://www.cnblogs.com/wlinuxtop/p/11628096.html

标签:python,collatz,序列
0
投稿

猜你喜欢

  • CODEPAGE=936是什么意思?

    2009-07-05 18:37:00
  • PyCharm搭建一劳永逸的开发环境

    2022-12-23 20:24:23
  • XML与HTML的结合(上)

    2008-09-05 17:19:00
  • matplotlib grid()设置网格线外观的实现

    2021-08-26 08:39:13
  • python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作

    2024-01-02 12:40:07
  • 一篇文章教你用Python实现一个学生管理系统

    2022-01-22 16:25:05
  • 触手生春【4.14】CSS与HTML结构

    2008-12-09 18:10:00
  • 浅谈python中常用的excel模块库

    2021-04-20 11:29:41
  • python里面单双下划线的区别详解

    2023-03-22 12:39:22
  • Python Http请求json解析库用法解析

    2021-11-20 14:05:45
  • php ajax异步读取rss文档数据

    2023-10-17 19:59:02
  • python3+PyQt5实现支持多线程的页面索引器应用程序

    2022-02-17 02:02:11
  • 使用Math.max,Math.min获取数组中的最值实例

    2023-09-03 23:23:59
  • Python实现Word的读写改操作

    2022-08-11 13:42:48
  • JS+CSS实现闪烁字体效果代码

    2024-04-18 09:31:04
  • JS操作Cookies包括(读取添加与删除)

    2024-06-15 04:13:26
  • 利用python绘制中国地图(含省界、河流等)

    2021-12-19 03:19:59
  • ASP.NET(C#)中操作SQLite数据库实例

    2024-01-20 08:30:12
  • python保存文件方法小结

    2021-09-09 04:13:59
  • python包合集shutil示例代码详解

    2022-03-28 12:04:27
  • asp之家 网络编程 m.aspxhome.com