测试题
0. 请问以下代码会打印多少次“我爱鱼C!”
while 'C':
print('我爱鱼C!')
会一直打印直到电脑内存被占用完。字符串‘C’是一个非0值,所以while语句判断为真,就会一直打印。
1.请问以下代码会打印多少次“我爱鱼C!”
i = 10
while i:
print('我爱鱼C!')
i = i - 1
10次,每次循环i减1,10次后i=0,while语句不成立,停止打印。
2.请写出与10 < cost < 50等价的表达式
(cost > 10) and (cost < 50)
3.Python3中,一行可以书写多个语句吗?
不行。
4.Python3中,一个语句可以分成多行书写吗?
可以。如果有括号(小括号、中括号、大括号),可以在任意地方换行。如果没有,需要断开的地方添加“\”字符,表示这一行尚未结束。
5.请问Python的and操作符和C语言的&&操作符有何不同?
关于逻辑and和or,python的用法和C的用法主要异同点如下:
① 当两个操作数均为逻辑值时,与我们通常理解的逻辑运算一致;
②当第一个操作数为逻辑值,第二个操作数为其他类型时,执行以下规则:
a and b:在a为false的时候,返回a,否则返回b。
a or b:在a为true的时候,返回a,否则返回b。
总之,and与or返回的不仅有true/false的语义,还返回了它的值。
6.听说过“短路逻辑(short-circuitlogic)”吗?
编程语言常用的逻辑:
if a and b:#如果a是false,那么跳过b的判断,结果直接false
if a or b:#如果a为true,那么跳过b的判断,直接true
动动手
0. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。
import random
secret = random.randint(1,10)
i = 3
temp = input("猜一猜Allen心中的数字:")
number = int(temp)
while (i > 0):
if(number == secret):
print("哇,你是Allen肚里的蛔虫吗?")
print("奖励一个香吻!")
break
else:
if number > secret:
print("大了大了!")
else:
print("小了小了!")
if i > 1:
temp = input("哎呀!再猜猜看:")
number = int(temp)
i = i -1
print("游戏结束,不玩啦!")