Python编程快速上手 让繁琐工作自动化 | 第三章 :实践项目
2017-08-30 11:04
766 查看
本题来自
1、Collatz 序列
然后编写一个程序,让用户输入一个整数,并不断对这个数调用 collatz(),直到函数返回值1(令人惊奇的是,这个序列对于任何整数都有效,利用这个序列,你迟早会得到 1!既使数学家也不能确定为什么。你的程序在研究所谓的“Collatz序列”,它有时候被称为“最简单的、不可能的数学问题”)。
例子:
Enter number:
3
10
5
16
8
4
2
1
代码如下:
2、输入验证
代码:
1、Collatz 序列
编写一个名为 collatz()的函数,它有一个名为 number 的参数。如果参数是偶数,那么 collatz()就打印出 number // 2,并返回该值。如果 number 是奇数,collatz()就打印并返回 3 * number + 1。
然后编写一个程序,让用户输入一个整数,并不断对这个数调用 collatz(),直到函数返回值1(令人惊奇的是,这个序列对于任何整数都有效,利用这个序列,你迟早会得到 1!既使数学家也不能确定为什么。你的程序在研究所谓的“Collatz序列”,它有时候被称为“最简单的、不可能的数学问题”)。
例子:
Enter number:
3
10
5
16
8
4
2
1
代码如下:
import sys number = int(input("Enter number")) def collatz(x): print(x) if x == 1: sys.exit() elif (x % 2) == 1: x = x * 3 + 1 #print (x) collatz(x) else: x = x // 2 #print (x) collatz(x) print (collatz((number)))
2、输入验证
在前面的项目中添加 try 和 except 语句,检测用户是否输入了一个非整数的字符串。正常情况下,int()函数在传入一个非整数字符串时,会产生 ValueError 错误,比如 int('puppy')。在 except 子句中,向用户输出一条信息,告诉他们必须输入一个整数。
代码:
import sys number = (input("Enter number")) def collatz(x): try: x = int(x) print(x) if x == 1: sys.exit() elif (x % 2) == 1: x = x * 3 + 1 #print (x) collatz(x) else: x = x // 2 #print (x) collatz(x) except ValueError as verror: print ("输入了非整数") print (collatz((number)))
相关文章推荐
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第11章 从Web抓取信息】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第7章 模式匹配与正则表达式(2)】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第5章 字典和结构化数据】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第4章 列表】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第16章 发送电子邮件和短信(1)】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第13章 处理PDF和Word文档(1)】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记序
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第3章 函数】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第6章 字符串操作】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第2章 控制流】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第10章 调试】
- Python编程快速上手——让繁琐工作自动化学习笔记
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第1章 Python基础】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第15章 保持时间,计划任务和启动程序】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第14章 处理CSV文件和JSON数据】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第16章 发送电子邮件和短信(2)】
- Python编程快速上手—让繁琐工作自动化 PDF中文高清晰完整版+源码
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第18章 用 GUI 自动化控制键盘和鼠标】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第9章 组织文件】
- 《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第12章 处理Excel电子表格】