Python总结暨小甲鱼零基础学Python课后习题(四)

0. 请问以下代码会打印多少次“我爱鱼C!”

1.     while 'C':

2.         print('我爱鱼C!')

会陷入死循环中,原因是 while 后边的条件永远为真(True),那么何时为假呢?

False, None, 0, "", '', (), [], {}(注意冒号括号里边啥都没有,连空格都不要有!)

其他一切都被解释为真!

1. 请问以下代码会打印多少次“我爱鱼C!”

1.     i = 10

2.     while i:

3.         print('我爱鱼C!')

4.         i = i - 1

10次

2. 请写出与 10 < cost < 50 等价的表达式

(10<cost)and(cost<50)

趣味引申:

将自然语句转化为布尔表达式:8岁以下和11岁以上

很多同学一定会非常自然的写下:age<8 and age>11

对吗?肯定不对啊!试想一下有谁能同时在8岁以下与11岁以上呢?

所以这个自然语句就有错,是陷阱!把这句话改为如果你不满8岁或在11岁以上,请举手

age<8 or age>11

同时注意在Python中不要错写成:8>age>11,因为将表达式分为两部分后就相当于:

age<8 and age>11

3. Python3 中,一行可以书写多个语句吗?

可以,

语句之间用分号隔开即可

4. Python3 中,一个语句可以分成多行书写吗?

可以,

一行过长的语句可以使用反斜杠或者括号分解成几行,例如:

>>> 3 > 4 and 1 < 2可以用以下两种方式替代:

a. 1.     >>> 3 > 4 and \

2.       1 < 2

b. 1.     >>> ( 3 > 4 and 

2.     1 < 2 )

5. 请问Python的 and 操作符 和C语言的 && 操作符 有何不同?【该题针对有C或C++基础的朋友】

还记得在0题中的False, None, 0, "", '', (), [], {}代表FALSE吗?

那么false(0)和true(1)的结果仍为假即为0(false)而 true(1)和true(3)的结果当然是true(3), 不过返回的是最后一个true的值。

再看一下&&

&&是与的意思

记住一个原则,非0即1,0是假,非0就是真,故所以 1&&3 的结果是 1 (真)

6. 听说过“短路逻辑(short-circuit logic)”吗?

逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。

这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符

猜你喜欢

转载自blog.csdn.net/weixin_41809192/article/details/81708435