先来了解一下条件操作符:
运算符 | 描述 | 示例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果是则条件变为真。 | 如a=3,b=3则(a == b) 为 true. |
!= | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | 如a=1,b=3则(a != b) 为 true. |
<> | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | 如a=1,b=3则(a <> b) 为 true。这个类似于 != 运算符 |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 | 如a=7,b=3则(a > b) 为 true. |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 | 如a=7,b=3则(a < b) 为 false. |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3则(a >= b) 为 true. |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3则(a <= b) 为 true. |
python的条件分支语法:
if条件: 条件为真(Ture)执行的操作else: 条件为假(False)执行的操作
注意:if和else语句后要添加冒号
下面看下改进的游戏,使用条件分支:
print('----改进文字游戏----')temp = input('猜一下现在心里想的哪个数字:')guss = int(temp)if guss == 8: print('wo~,猜对了') print('哼,猜对了也没有奖励!')else: if guess>8: print('大啦,大啦!') else: print('小啦,小啦!')print('游戏结束啦,不玩啦~~~~')
这样就会判断多种情况,提醒用户输入的数值尽可能的接近于答案
那么问题就来了,使用if,else语句如果在输入错误的情况下,只能一遍一遍的重新运行程序,直到用户输入正确,无法进行循环判断;
改进要求:用户可以有多次机会进行输入,换而言之程序支持重复运行某些代码
python的while循环语法:
while条件: 条件为真(Ture)执行的操作
注意:当条件为假(False)时,就不会执行while下的语句;while后要添加冒号
思想:思考在什么地方需要程序进行循环操作
用户输入—>判断用户输入是否正确—>不正确提示用户重新输入—>程序继续运行到输入正确为止
||
正确,程序结束运行
那么看下实现:
print("--------开始游戏--------")temp = input('猜一下我心里想的数值:')guess= int(temp)while guess != 8: temp = input('猜错了,请重新输入') guess= int(temp) if guess == 8 : print('wo~,猜对了') else : if guess > 8: print('大啦,大啦!') else: print('小啦,小啦!')print('游戏结束啦,不玩啦~~~~')
用户可以无限次输入,如果我们期望在这个次数上加个期限,如何操作,这时候我们可以用到逻辑运算符and
python的逻辑运算符:
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
and操作符可以将任意表达式链接在一起,得到一个布尔类型的值
注意:比较运算符的优先级高于逻辑运算符
接下来我们再进行延伸,如何让程序的运行结果是一个随机数,这里就用上了python的random模块中的randint
import randomsecret=random.randint(1,10)print("--------开始游戏--------")temp = input('猜一下我心里想的数值:')guess= int(temp)while guess != secret: temp = input('猜错了,请重新输入') guess= int(temp) if guess == secret : print('wo~,猜对了') else : if guess > secret: print('大啦,大啦!') else: print('小啦,小啦!')print('游戏结束啦,不玩啦~~~~')
ok 今天先到这里~~