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

需求:

编写一个名为collatz()的函数,它有一个名为number的参数:

如果参数是偶数,那么collatz()就打印出number//2,并返回该值;

如果number是奇数,那么collatz()就打印,并返回3*number+1。

然后编写一个程序,让用户输入一个整数,并不断对这个数调用,collatz(),直到函数返回值1(让人惊奇的是,这个序列对于任何整数都有效,利用这个序列,你迟早会得到1!奇数数学家也不能确定为什么。你的程序在研究所谓的“Collatz序列”,它有时候被称为“最简单的、不可能的数学问题”)。

注意:记得将input()的返回值用int()函数转成一个整数,否则它会是一个字符串。

提示:如果number%2==0,整数number就是偶数,如果number%2==1,它就是奇数。

实现代码:

# -*- coding:utf-8 -*-#定义函数
def collatz(number):if number % 2 == 0:return number // 2elif number % 2 == 1:return number *3 +1#判断输入内容是否符合要求
while True:try:t = int(input('请输入一个整数:'))if t > 0:breakelse:print('必须是正整数哦!')    except ValueError:print('必须是数字哦!')continue#调用函数
while t != 1:t = collatz(t)print(t)

感触:

  1. 对照习题自行写的,到网上查了很久,没有个很规范的版本。
  2. 这个版本考虑到输入数字可能是文本、可能是负数,可能是0,做了判断和提示。
  3. 用python实现的方法很多,对比后才会感触到python之禅:简洁、易读。
  4. 反复的练习、比对、完善才能进步的更快。
  5. 写代码,应该先考虑是实现思路,然后再开始。这样才能易读,才能事半功倍。

Python3:Collatz 序列(考拉咨猜想)相关推荐

  1. 用python验证冰雹猜想_用Pythony验证万物归一(考拉咨猜想)

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

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

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

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

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

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

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

  5. Python实现Collatz序列(考拉兹猜想)

    考拉兹猜想(英语:Collatz conjecture),又称为奇偶归一猜想.3n+1猜想.冰雹猜想.角谷猜想.哈塞猜想.乌拉姆猜想或叙拉古猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1, ...

  6. python角谷猜想详细步骤_用python3.7编写考拉兹猜想 -

    你听说过考拉兹猜想吗?就是随便选一个大于1自然数,如果是奇数就乘3加1,如果是偶数就除2,如此循环,最后结果一定是1.考拉兹猜想又称为奇偶归一猜想.3n+1猜想.冰雹猜想.角谷猜想.哈塞猜想.乌拉姆猜 ...

  7. 网易考拉海购Java开发面经(已拿offer)

    2019独角兽企业重金招聘Python工程师标准>>> 网易的面试是在8月23日进行的,说是三面,但hr面的时候面了两次,后来得知好像是主管面,所以实际上是四次面试,两轮技术面+主管 ...

  8. Python Selenium + PhantomJS爬取考拉海购商品数据

    爬完QQ音乐以后打算爬网易云音乐的,中间出了一点小状况,就改爬考拉海购了(什么状况你猜呀❛˓◞˂̶✧以后会爬完网易云音乐的!) 今天写近段时间的最后一篇,写完这篇就要开始期末复习了,寒假再来更新 进入 ...

  9. 电商项目实战第四节: CSS3+HTML5+JS 设计案例【考拉海购网站】之【轮播图特效】

    上一节:电商项目实战第三节: CSS3+HTML5+JS 设计案例[考拉海购网站]之[分类导航栏] 文章目录 [考拉海购网站]之[轮播图特效] 第一步,根据页面布局写相应的html标签 index.h ...

最新文章

  1. 零基础学Java大数据难不难
  2. 神回答:编程到底难在哪里?
  3. c++和opengl实现gis_从零开始的图形学学习(零):一切的开始 —— 自建OpenGL开发框架
  4. Intel Realsense D435 奇怪的现象记录:帧卡住,但wait_for_frame()不报错
  5. ftp shell lcd不起作用
  6. 关于[__NSCFArray removeObjectAtIndex:]: mutating method sent to immutable object的报错分析
  7. c++调用gcd函数_c++函数库中一些实用的函数
  8. OSX EI Captain中安装Pear等三方软件不成功的解决方法
  9. Linux中五种压缩命令
  10. 英语四级考试计算机游戏,2017年6月英语四级作文练习:大学生玩游戏
  11. 【Intellij】Intellij Idea 2017创建web项目及tomcat部署实战
  12. PX4位置估计源码分析
  13. CRMEB 知识付费模版消息修改教程
  14. python纵向输出字符串,python-字符串方法,格式化输出
  15. Tempo数据分析平台,助力企业高效完成数据预处理工作
  16. 主机域名中什么叫计算机名,主机域名中的主机名是什么概念
  17. 好斌c语言教程,C语言学习大纲__斌(讲解).doc.doc
  18. c语言程序设计植树,C语言程序设计实验报告——实验
  19. 使用 Excel 画像素画
  20. 《算法笔记》第4章常用技巧及排序算法

热门文章

  1. 计算机主机电源故障检测,怎么检查电脑主机电源 电脑主机电源常见问题大全...
  2. 国产手机争夺双十一排名唯一优势是价格,最吸金的还是苹果
  3. 一些著名的软件都用什么语言编写的?
  4. 基于APP的连锁药店管理系统
  5. JavaScript简介及其引入方式
  6. 全球首个MR电视节目!The Future Group用MR打造真人秀
  7. 抛物线法matlab实验,数值分析:牛顿、弦歌、抛物线法的matlab实现
  8. python课程水平测试成绩查询_学业水平考试成绩查询系统入口地址
  9. ROG电脑安装ubuntu双系统
  10. 华硕ROG品牌机安装ubuntu双系统