第004讲:改进我们的小游戏
第004讲:改进我们的小游戏
测试题
0. 请问以下代码会打印多少次"我爱鱼C!"
while 'c':
print('我爱鱼C!')
测试结果,死循环,无限打印。。。
死循环的原因是while后面的条件永远为'True'
在Python中,能被看做'False'的条件是
1.值本身就是'False' 如 1<2
2.空值 None "" '' () {} []
1. 请问以下代码会打印多少次"我爱鱼C!"
i = 10 #设定基础循环次数变量
while i:
print('我爱鱼C!')
i = i - 1 #每循环一次就减一次
10次
2. 请写出与10 < cost < 50等价的表达式
cost>10 and cost<50
3. Python3中,一行可以书写多个语句吗?
可以的,用分号 ; 隔开,代码如下
>>> print('你好');print('世界')
你好
世界
4. Python3中,一个语句可以分成多行书写吗?
可以,在需要断行的地方输入转义符 \ 如下
>>> print('你好\
世界')
你好世界
5. 请问Python的and操作符和C语言的 && 操作符有何不同?[该题针对有C或C++基础的朋友]
6. 听说过"短路逻辑(short-circuit logic)吗?"
name = input('请输入名字:') or '小明'
print(name)
这段代码的意思是,如果name变量没有输入,则返回'小明'
这个值
布尔运算符有个有趣的特性:只有在需要求值时才进行求值。举例来说,表达式x and y需要两个变量都为真时才为真,所以如果x为假,
表达式就会立刻返回false,而不管y的值(事实上各个语言都有这个特性)。实际上,如果x为假,表达式会返回x得值----否则它就
返回y的值。这种行为被称为短路逻辑(short-circuit logic)或惰性求值(lazy evaluaion):布尔运算符通常被称为逻辑运算
符,就像你看到的那样第2个值有时“被短路了”。这种行为对于or来说也同样适用。在表达式x or y中,x为真时,它直接返回x的值,
否则返回y值。注意,这意味着在布尔运算符之后的所有代码都不会执行。
换句话说,如果input语句的返回值为真(不是空字符串),那么它的值就会赋给name,否则将默认的'<unknown>'赋值给name。
这类短路逻辑可以用来实现C和Java中所谓的三元运算符(或条件运算符)。
动动手
0. 完善第二个改进要求(为用户提供三次机会尝试,机会用玩或者用户猜中答案均推出循环)并改进视频中小甲鱼的代码
import random
secret = random.randint(1,10)
firquency = 2
while True:
guess = int(input('请输入1-10任意整数:'))
if guess != secret:
if firquency != 0:
if guess > secret:
print('大了')
elif guess < secret:
print('小了')
else:
print('三次机会用完了哦~')
break
else:
print('猜对了')
break
firquency = firquency - 1
1. 尝试写代码实现以下截图功能:
number = int(input('输入一个整数:'))
number_input = 0
while number_input != number:
number_input = number_input + 1
print(number_input)
2. 尝试写代码实现以下截图功能:
number = int(input('输入一个整数:'))
while number != 0:
space = ' '*number
symbol = '*'*number
print(space+symbol)
number = number - 1
Python语言学习菜鸟 老家四川南充,来玩留言,嘻嘻
话说觉得这个主题难受的请下面评论