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

然后编写一个程序,让用户键入一个整数,并持续调用collatz()该数字,直到函数返回值1。(很奇怪,这个序列实际上适用于任何整数 - 早或晚,使用这个序列,你会到达1!甚至数学家不知道为什么。你的程序正在探索所谓的Collat​​z序列,有时称为“最简单的不可能的数学问题“)

记住input()使用int()函数将返回值转换为整数; 否则,它将是一个字符串值。

提示:一个整数number是偶数,如果number % 2 == 0是奇数number % 2 == 1

这个程序的输出可能看起来像这样:

输入数字:
3
10
5
16
8
4
2
1

输入验证

添加tryexcept语句到上一个项目,以检测用户是否键入非整数字符串。通常,如果int()函数ValueError传递了一个非整数字符串,则会产生一个错误,如int('puppy')。在该except子句中,向用户打印一条消息,说明他们必须输入整数。

源代码:

import sys
def collatz(number):print(number)if number == 1:sys.exit()elif number % 2 == 1:t=3 * number + 1collatz(t)else:t=number // 2collatz(t)def test():print('Enter number:')try:number  = int(input())collatz(number)except ValueError as verror:print('ValueError: You need input digital.')test()

Collatz 序列(考拉咨猜想),用Python自动化无聊的东西-chapter3相关推荐

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

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

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

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

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

    编写一个名为collatz()的函数,它有一个名为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. collatz序列 python程序_Python Collatz序列实现过程解析

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

  7. Python实现考拉海购数据采集

    环境介绍 python 3.8 pycharm 2021专业版 requests >>> pip install requests parsel >>> pip i ...

  8. Python实践:猜数字小程序Collatz序列

    猜数字 代码 ''' 猜数字小游戏,不断输入你所猜的数(1-100),程序会根据你的输入提醒你进行 适当调整所猜数的大小,直到最后猜出这个随机数 ''' guessNumber = random.ra ...

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

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

最新文章

  1. Bitmap基本概念及在Android4.4系统上使用BitmapFactory的注意事项
  2. DataGridView的使用
  3. Cloud for Customer UI toolbar里按钮的渲染逻辑
  4. SqlServer:带IN()子句C#的参数化查询
  5. Problem L. Visual Cube(杭电多校2018年第三场+模拟)
  6. Atitit.android播放smb 网络邻居视频文件解决方案
  7. 如何提高意志力如何坚持每天学习
  8. 【数据结构】以不完整拼音搜索通讯录算法设计
  9. excel自动调整行高和设置默认行高
  10. 2018年软工第二次结对作业
  11. 你关心的问题都在这!爱奇艺用户留存预测挑战赛Baseline上线
  12. 性价比高一点的蓝牙耳机有哪几款?高性价比蓝牙耳机推荐
  13. nginx配置和优化详解
  14. AutoHotkey快捷键简单介绍
  15. 计算机电源整流滤波,整流、滤波电路工作原理
  16. 剑指offter 动态规划
  17. 数据库中删除重复数据并保留一条。
  18. 服务器修复 dns,AD 林恢复 - 配置 DNS 服务器服务
  19. 论文学习——降雨空间分布模式识别
  20. 《如何写好科研论文》2020期末试卷答案

热门文章

  1. Promise中的then方法详解
  2. Angular JS中的then()
  3. U盘的复制出现文件过大问题
  4. deviceready has not fired after 5 seconds
  5. fastadmin二次开发使用教程php,FastAdmin教程-FastAdmin二次开发快速入门视频教程
  6. 【琐琐碎碎小知识】Keil5编译时候出现 Error: L6200E: Symbol HAL_MspDeInit multiply defined事故处理
  7. android app利用微信浏览器,万人在线
  8. Java---面向对象编程三大特征【封装、继承、多态】及super关键字、方法重写/覆盖(不定期更新补充)---B站韩顺平老师视频总结
  9. 3d建模师前景如何,想要做到月薪六千多难不难?
  10. 苹果将要发布128GB的iPad产品售价799美元