世界上存在一种这样的猜想,无论你给我什么,如何待我,我会慢慢把它捶打磨练,最后达到天人合一.额,其实是我瞎编的啦.其实世界上有一种跟我瞎编的东西很像,那么就是考拉咨猜想:你随便给我一个整数,我最后都是会通过固定的规则演变成"1",万物归一.

那么这个规则是什么呢?

我拿到一个数number:

奇数则number= 3 * number + 1;

偶数则number= number // 2;

猜想:对于每一个正整数,如此循环,最终都能够得到1。

那么我们就用Python验证一下这个猜想

#!/usr/bin/env python3

# coding=utf-8

__author__ = "RidingRoad"

START_NUMBER = 1

END_NUMBER = 1000001

def collatz_seq(number):

"""

获取到的number是奇数,则number= 3 * number + 1;

偶数则number= number // 2;

如果考拉咨猜想真的成立,可以number=1,那么程序将会停止,否则,考拉咨猜想不成立

:return:1

"""

while True:

if number == 1:

return number

else:

# number为偶数

if not number % 2:

number = number // 2

else:

# number为奇数

number = 3 * number + 1

if __name__ == "__main__":

# 存放验证考拉咨猜想函数的结果

result = []

for i in range(START_NUMBER, END_NUMBER):

# 验证START_NUMBER, END_NUMBER之间的数

result.append(collatz_seq(i))

# 显示结果

print(result)

下面是1到1000,000的数字进行考拉咨猜想验证的结果

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,......]

可以看到:万里挑一啊, so easy

古人的猜想,如果还是基于传统的计算工具,那是多么的无聊单调,我们可以用Python来瞬间完成,感谢龟叔哦.

这里我们就不自己肉眼判断了,我们用filter

def verify(num):

"""判断结果里的不是1的数"""

return 1 != num

if __name__ == "__main__":

# 存放验证考拉咨猜想函数的结果

result = []

for i in range(START_NUMBER, END_NUMBER):

# 验证START_NUMBER, END_NUMBER之间的数

result.append(collatz_seq(i))

# 使用filter对结果进行判断是否存在非1的数

print(list(filter(verify,result)))

"""

filter(function or None, iterable) --> filter object

Return an iterator yielding those items of iterable for which function(item)

is true. If function is None, return the items that are true.

"""

结果

输出了一个[]空列表,说明result列表里全部为一,考拉咨猜想是可能正确的.为什么说可能,是因为我只验证了1到1000000的数字.

[]

我的个性签名:Focusing on the Python and firmly convincing that nothing can replace hard work.需要完整的代码关注我的公众号Python孙行者,聊天界面回复"万物归一",即可获取.欢迎大家关注我的公众号.

用python验证冰雹猜想_用Pythony验证万物归一(考拉咨猜想)相关推荐

  1. Python3:Collatz 序列(考拉咨猜想)

    Python3:Collatz 序列(考拉咨猜想) 需求: 编写一个名为collatz()的函数,它有一个名为number的参数: 如果参数是偶数,那么collatz()就打印出number//2,并 ...

  2. python学习_实现一个考拉咨猜想

    要求: 编写一个名为collatz()的函数,它有一个名为number 的参数.如果参数是偶数,那么collatz()就打印出number // 2,并返回该值.如果number 是奇数,collat ...

  3. Collatz 序列(考拉咨猜想),用Python自动化无聊的东西-chapter3

    编写一个名为的函数collatz(),它有一个名为的参数number.如果number是偶数,那么collatz()应该打印number // 2并返回这个值.如果number是奇数,collatz( ...

  4. 《Python编程快速上手——让繁琐工作自动化》笔记:3.11 实践项目 Collatz 序列(考拉咨猜想)

    编写一个名为collatz()的函数,它有一个名为number的参数: 如果参数是偶数,那么collatz()就打印出number//2,并返回该值: 如果number是奇数,那么collatz()就 ...

  5. 身份证验证 校验码_用户身份验证最佳做法清单

    身份证验证 校验码 用户身份验证是每个Web应用程序共享的功能. 我们已经实施了很多次了,所以早就应该完善它了. 然而,错误无时无刻不在. 造成这种情况的部分原因是,可能出错的事情列表很长. 您可能会 ...

  6. python tus股票数据分析_用TuShare验证股市中的“春节效应”

    在中国股民的印象中,农历年后股市一般上涨的概率较大,所以很多投资者会在农历年前买入股票,以待年后股市上涨收取红包,这叫做股市中的"春节效应".那么实际上存不存在这种"春节 ...

  7. java表单验证手机号码位数_正则手机号码验证(一)

    function Checkreg() { //验证电话号码手机号码,包含153,159号段 if (document.form.phone.value=="" && ...

  8. python证明冰雹猜想_如果冰雹猜想被证明了。那数学会有很大突破吗?

    建议不要在社交软件评论区讨论数学[数学狂]最容易理解的数学未解之谜 -- 克拉茨猜想_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com 克拉茨猜想or冰雹猜想 结合 ...

  9. python验证角谷_角谷猜想-随心随性无为而为-51CTO博客

    问题描述: 角谷猜想的内容为:任意给定一个自然数,若它为偶数则除以2,若它为奇术则乘3加1,得到一个新的自然数.按照这样的计算方法计算下去,若干次后得到的结果必然为1. 编写程序对角谷猜想的正确性加以 ...

最新文章

  1. MySQL中的锁(表锁、行锁)
  2. busmaster 使用教程_Busmaster使用.pdf
  3. 基础平台为第三方应用接入提供oauth2认证接口
  4. mysql alter更新_MySQL 操作命令梳理(2)-alter(update、insert)
  5. java volatile关键字的作用_java volatile关键字作用及使用场景详解
  6. 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)
  7. javascript焦点图(能够自己主动切换 )
  8. linux去重统计个数,linux 文件内容查找、去重、统计(示例代码)
  9. java day02 【数据类型转换、运算符、方法入门】
  10. 6m缓存和8m缓存差距_i7-9700和i7-9700K性能差距多大?i7-9700和i7-9700K区别对比评测...
  11. windows powershell 将U盘启动盘还原回普通U盘
  12. 网盘上传文件服务器失败原因,百度网盘上传文件一直失败是什么情况?具体解决方法...
  13. Font Replacer
  14. SpringCloudStream基础
  15. unity实现游戏中拍照功能(自动生成小照片)
  16. 类似安卓的点9图片,气泡图片调成自己需要的
  17. PS抠图(菜鸟、快捷键)
  18. 磁盘linux安装不可以用,CentOS 5 不支持SATA硬盘安装的解决方法
  19. Google Map手机地图
  20. Ubuntu18.04重启后内核自动更新显卡驱动失效

热门文章

  1. Promise中的then方法详解
  2. div标签以及网页设计中的一些知识点
  3. pure-ftpd mysql_Pureftpd高级应用:用MySQL管理PureFTPd用户
  4. java如何获得内网ip、外网ip、以及如何根据ip查询地址
  5. 关于树莓派USB端口号查询说明
  6. 《EDIUS 6.5快刀手高效剪辑技法》——1.9 影视制作的流程
  7. 有趣的串口--之超级终端的玩法-1[转]
  8. linux获取电信超级密码吗,最简单获取电信光猫超级帐号及密码
  9. SQL Server 上云最佳实践
  10. 【转载】企业各高层管理驾驶舱展示