Python考拉兹猜想输出序列代码实践

yipeiwu_com6年前Python基础

考拉兹猜想(英语:Collatz conjecture),是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。(摘自Wiki)

首先编写一个collatz()函数判定参数(number)奇偶,如果是偶数则返回 number//2;如果是奇数则返回 3*number+1

然后用户输入一个正整数后,对这个数反复调用collatz(),直至打印出1

程序如下:

def collatz(number):
  res=number%2
  if res==0:
    return number//2
  else:
    return number*3+1
 
 
print('请输入一个正整数:',end='')
num=int(input())
sum=collatz(num)
print(sum)
 
while sum!=1:
  sum=collatz(sum)
  print(sum)

测试结果:

请输入一个正整数:3
10
5
16
8
4
2
1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解Python3 pandas.merge用法

详解Python3 pandas.merge用法

摘要 数据分析与建模的时候大部分时间在数据准备上,包括对数据的加载、清理、转换以及重塑。pandas提供了一组高级的、灵活的、高效的核心函数,能够轻松的将数据规整化。这节主要对panda...

Python中的生成器和yield详细介绍

列表推导与生成器表达式 当我们创建了一个列表的时候,就创建了一个可以迭代的对象: 复制代码 代码如下: >>> squares=[n*n for n in range(...

python利用smtplib实现QQ邮箱发送邮件

python利用smtplib实现QQ邮箱发送邮件

python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。 下面是一个利用smtplib,实现QQ邮箱发送邮件的例子。 首先必须要打开QQ邮箱的s...

Python中函数的基本定义与调用及内置函数详解

前言 函数function是python编程核心内容之一,也是比较重要的一块。首先我们要了解Python函数的基本定义: 函数是什么? 函数是可以实现一些特定功能的小方法或是小程序。...

如何获取Python简单for循环索引

这篇文章主要介绍了如何获取Python简单for循环索引,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python的for循环相比其...