Collatz 序列(考拉咨猜想),用Python自动化无聊的东西-chapter3
编写一个名为的函数collatz()
,它有一个名为的参数number
。如果number
是偶数,那么collatz()
应该打印number // 2
并返回这个值。如果number
是奇数,collatz()
则应打印并返回3 * number + 1
。
然后编写一个程序,让用户键入一个整数,并持续调用collatz()
该数字,直到函数返回值1
。(很奇怪,这个序列实际上适用于任何整数 - 早或晚,使用这个序列,你会到达1!甚至数学家不知道为什么。你的程序正在探索所谓的Collatz序列,有时称为“最简单的不可能的数学问题“)
记住input()
使用int()
函数将返回值转换为整数; 否则,它将是一个字符串值。
提示:一个整数number
是偶数,如果number % 2 == 0
是奇数number % 2 == 1
。
这个程序的输出可能看起来像这样:
输入数字: 3 10 5 16 8 4 2 1
输入验证
添加try
和except
语句到上一个项目,以检测用户是否键入非整数字符串。通常,如果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相关推荐
- Python3:Collatz 序列(考拉咨猜想)
Python3:Collatz 序列(考拉咨猜想) 需求: 编写一个名为collatz()的函数,它有一个名为number的参数: 如果参数是偶数,那么collatz()就打印出number//2,并 ...
- 用python验证冰雹猜想_用Pythony验证万物归一(考拉咨猜想)
世界上存在一种这样的猜想,无论你给我什么,如何待我,我会慢慢把它捶打磨练,最后达到天人合一.额,其实是我瞎编的啦.其实世界上有一种跟我瞎编的东西很像,那么就是考拉咨猜想:你随便给我一个整数,我最后都是 ...
- 《Python编程快速上手——让繁琐工作自动化》笔记:3.11 实践项目 Collatz 序列(考拉咨猜想)
编写一个名为collatz()的函数,它有一个名为number的参数: 如果参数是偶数,那么collatz()就打印出number//2,并返回该值: 如果number是奇数,那么collatz()就 ...
- python学习_实现一个考拉咨猜想
要求: 编写一个名为collatz()的函数,它有一个名为number 的参数.如果参数是偶数,那么collatz()就打印出number // 2,并返回该值.如果number 是奇数,collat ...
- Python实现Collatz序列(考拉兹猜想)
考拉兹猜想(英语:Collatz conjecture),又称为奇偶归一猜想.3n+1猜想.冰雹猜想.角谷猜想.哈塞猜想.乌拉姆猜想或叙拉古猜想,是指对于每一个正整数,如果它是奇数,则对它乘3再加1, ...
- collatz序列 python程序_Python Collatz序列实现过程解析
编写一个名为 collatz()的函数,它有一个名为 number 的参数.如果参数是偶数,那么 collatz()就打印出 number // 2, 并返回该值.如果 number 是奇数, col ...
- Python实现考拉海购数据采集
环境介绍 python 3.8 pycharm 2021专业版 requests >>> pip install requests parsel >>> pip i ...
- Python实践:猜数字小程序Collatz序列
猜数字 代码 ''' 猜数字小游戏,不断输入你所猜的数(1-100),程序会根据你的输入提醒你进行 适当调整所猜数的大小,直到最后猜出这个随机数 ''' guessNumber = random.ra ...
- Python Selenium + PhantomJS爬取考拉海购商品数据
爬完QQ音乐以后打算爬网易云音乐的,中间出了一点小状况,就改爬考拉海购了(什么状况你猜呀❛˓◞˂̶✧以后会爬完网易云音乐的!) 今天写近段时间的最后一篇,写完这篇就要开始期末复习了,寒假再来更新 进入 ...
最新文章
- Bitmap基本概念及在Android4.4系统上使用BitmapFactory的注意事项
- DataGridView的使用
- Cloud for Customer UI toolbar里按钮的渲染逻辑
- SqlServer:带IN()子句C#的参数化查询
- Problem L. Visual Cube(杭电多校2018年第三场+模拟)
- Atitit.android播放smb 网络邻居视频文件解决方案
- 如何提高意志力如何坚持每天学习
- 【数据结构】以不完整拼音搜索通讯录算法设计
- excel自动调整行高和设置默认行高
- 2018年软工第二次结对作业
- 你关心的问题都在这!爱奇艺用户留存预测挑战赛Baseline上线
- 性价比高一点的蓝牙耳机有哪几款?高性价比蓝牙耳机推荐
- nginx配置和优化详解
- AutoHotkey快捷键简单介绍
- 计算机电源整流滤波,整流、滤波电路工作原理
- 剑指offter 动态规划
- 数据库中删除重复数据并保留一条。
- 服务器修复 dns,AD 林恢复 - 配置 DNS 服务器服务
- 论文学习——降雨空间分布模式识别
- 《如何写好科研论文》2020期末试卷答案
热门文章
- Promise中的then方法详解
- Angular JS中的then()
- U盘的复制出现文件过大问题
- deviceready has not fired after 5 seconds
- fastadmin二次开发使用教程php,FastAdmin教程-FastAdmin二次开发快速入门视频教程
- 【琐琐碎碎小知识】Keil5编译时候出现 Error: L6200E: Symbol HAL_MspDeInit multiply defined事故处理
- android app利用微信浏览器,万人在线
- Java---面向对象编程三大特征【封装、继承、多态】及super关键字、方法重写/覆盖(不定期更新补充)---B站韩顺平老师视频总结
- 3d建模师前景如何,想要做到月薪六千多难不难?
- 苹果将要发布128GB的iPad产品售价799美元