Exercise 30: Else 和 If
来源:互联网 发布:php do while 编辑:程序博客网 时间:2024/06/05 04:43
原文链接:http://learnpythonthehardway.org/book/ex30.html
在上一节练习中,我们做了一些关于 if 语句的练习,然后让你猜了它是什么以及有什么作用。在学习本节之前我会回答上一节研究训练中的每一个问题。上一节的研究训练你应该做了吧?
1、你认为 if 对于它下一行的代码做了什么? If 语句为代码创建了一个所谓的“分支”,就跟 RPG 游戏中的情节分支一样。if 语句告诉你的脚本,“如果这个布尔表达式值为真,那么就继续执行其下面的代码,否则的话跳过执行。
2、为什么if下面的语句需要四个空格位置的缩进?一行以冒号结尾就是来告诉Python你要准备创建一个新的代码”块“,而缩进四个空格就是来告诉Python哪些代码行是在这个块中的。这就和这本书上半部分提到的当你创建一个函数时做的事情一样。
3、如果不缩进会发生什么?如果不缩进的话,你最有可能就是得到一个错误提示。Python 的规则里,只要一行以“冒号(colon)” : 结尾,它接下来的内容就应该有缩进。
4、你能将Ex 27中的其它布尔表达式放到if语句中吗?试一试。是的,你当然能,并且你想放多复杂的就放多复杂的,虽然放一些真的很复杂的东西一般来说不是一种不好的编程风格。
5、如何你改变 people ,cats ,dogs的初始化值会发生什么事情?因为你 比较的是数值的大小,如果你改变了这些值,某些位置的 if 语句会被演绎为 True,而它下面的代码区段将被运行。你可以试着修改这些数字,然后在头脑里假想一下那一段代码会被运行。
把你的回答和我的回答进行比较,确保你真的理解了代码”块“的概念。理解代码块对你在下一节练习中非常重要,在那里所有if语句都需要用到它。
输入下面这些代码并运行它。
people = 30cars = 40buses = 15if cars > people:print "We should take the cars."elif cars < people:print "We should not take the cars."else:print "We can't decide."if buses > cars:print "That's too many buses."elif buses < cars:print "Maybe we could take the buses."else:print "We still can't decide."if people > buses:print "Alright ,let's just take the buses."else:print "Fine ,let's stay home then."
输出结果如下:
c:\>python ex30.pyWe should take the cars.Maybe we could take the buses.Alright ,let's just take the buses.
研究训练:
1、试着猜测下 elif 和 else 有什么作用。2、改变 cars、people和buses的值,然后跟踪每一个if语句看看将会打印什么。
3、尝试用一些更复杂的逻辑表达式,例如: cars > people and buses < cars。
4、对面上面的每一行代码用英文描述它们都做了什么。
学生遇见的常见问题:
- Exercise 30: Else 和 If
- exercise 30 else and if 语句
- 习题30 else 和 if
- if 和else if
- IF 和else if
- if......if和if......else if......else if的区别
- if ...if...和if...else if...
- if...else... 和 if...else if... 或者 if...if... 和 if...else if... 有什么区别
- If语句(if…else 和 if…else if … else if … else)
- if和else if和switch
- #if, #elif, #else和#endif
- switch和if-else相比
- switch和if-else相比
- 用&&和||代替if..else..
- SqlServer if else和case
- switch和if-else相比
- switch和if-else相比
- if-else和try-catch
- Java数据结构--栈的实现
- 序列化---serialVersionUID
- Java程序中的“内存泄漏”问题
- 请判断一个串中的括号是否匹配 注意下列不匹配的情况: 左括号太多 右括号太多 右括号先于左括号出现 ..)...(... 挎臂情况 ....[...(....]....)....
- PCNN(3)图像增强
- Exercise 30: Else 和 If
- FPGA FIFO
- poj2449 (重要)优先队列
- c++学习日记之复数的运算
- 2014-03-30
- 限制远程桌面连接的时间
- C#总结
- mysql在linux下的my.cnf文件在哪里!
- 从头开始