-
python基础学习
-
python基础5
-
python基础6
-
美赛论文
改进之前的小游戏
改进思路:用户提示,多次机会,答案随机
条件分支
1.逻辑符号:
>>> 4>2
True
>>> 2 < 2
False
>>> 1==2
False
>>> 1 != 1
False
2.If else语句
print('------------------给我爬---------------')
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)
if guess == 8:
print ("666")
else:
if guess > 8:
print("bigger than it")
else:
print('smaller')
print('GAME OVER')
仅能循环一次
3.while语句
print('------------------给我爬---------------')
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)
while guess != 8:
teep = input ("input again")
guess = int (teep)
if guess == 8:
guess = int (teep)
if guess == 8:
print ("666")
else:
if guess > 8:
print("bigger than it")
else:
print('smaller')
print('GAME OVER')
循环一直进行没有猜对没有跳出
- and逻辑操作符(且运算)
4.random模块
randint()——返回一个随机整数
让被猜的数字随机生成
import random
secret = random.randint(1,10)
print('------------------给我爬---------------')
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)
while guess != secret:
teep = input ("input again")
guess = int (teep)
if guess == secret:
guess = int (teep)
if guess == secret:
print ("666")
else:
if guess > secret:
print("bigger than it")
else:
print('smaller')
print('GAME OVER')
课后习题:
-
请问以下代码会打印多少次“我爱鱼C!”
-
请写出与 10 < cost < 50 等价的表达式
10<cost and cost<50 -
Python3 中,一行可以书写多个语句吗?
可以,使用分隔符分隔开就行。
4.Python3 中,一个语句可以分成多行书写吗?
可以,一行过长的语句可以使用反斜杠或者括号分解成几行,不妨试试:
3 > 4 and
1 < 2
5.【该题针对有C或C++基础的朋友】请问Python的 and 操作符 和C语言的 && 操作符 有何不同?
逻辑运算,都是短路求值,不同在于C中返回的始终是逻辑值,而python中返回的是实际的对象
- C中是进行逻辑运算,所以返回的值为1和0
- python里,返回的是数值
当and 前后均为真的时候,返回的是and 后面的值或者字符串
当 and前后有一个为假的时候,返回的是表示“假”的值或者字符串
若均为假的时候,则返回的是and前的值或者字符串
PS:有非零值,无论正负,均为真
短路求值:作为"&&“和”||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值(short-circuit evaluation)
6.短路逻辑
逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。
这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符,这个后边的课程小甲鱼会讲到,不急。
实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值(例子参考楼上那题)。
7.完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。
第一次改进:(第一次输入后也会进行提示,第一次输对了有恭喜语句)
import random
secret = random.randint(1,10)
print('------------------给我爬---------------')
#输入猜测数值#
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)
if guess == secret:
print('LUCKY GUY')
else:
#对一次输入的数值给出提示#
if guess > secret:
print("bigger than it")
else:
print('smaller')
#提示循环#
while guess != secret:
teep = input ("input again")
guess = int (teep)
if guess == secret:
guess = int (teep)
if guess == secret:
print ("666")
else:
if guess > secret:
print("smaller")
else:
print('bigger than that')
print('GAME OVER')
第二次改进(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)
import random
secret = random.randint(1,10)
print('------------------给我爬---------------')
#输入猜测数值#
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)
if guess == secret:
print('LUCKY GUY')
else:
#对一次输入的数值给出提示#
if guess > secret:
print("bigger than it")
else:
print('smaller')
#提示循环#
i=1
while guess != secret and i<3:
teep = input ("input again")
guess = int (teep)
i=i+1
if guess == secret:
print ("666")
else:
if guess > secret:
print("smaller")
else:
print('bigger than that')
print('GAME OVER')
加入了计数的i,限制次数