先来了解一下条件操作符:

运算符 描述 示例
== 检查两个操作数的值是否相等,如果是则条件变为真。 如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 random
secret=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 今天先到这里~~

python学习笔记04-了解操作符与条件分支的更多相关文章

  1. Python学习笔记(二):条件控制语句与循环语句及常用函数的用法

    总结的内容: 1.条件控制语句 2.while循环语句 3.for循环语句 4.函数的用法 一.条件控制语句 1.介绍 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决 ...

  2. python学习笔记七--数据操作符

    一.Python表达式操作符及程序:

  3. python学习笔记:(八)条件语句

    if语句,python中if语句的一般形式如下: conditon1为真,执行statement_block_1 condition1为假,判断conition_2,如果condition_2为真,执 ...

  4. python学习笔记七--数据操作符的优先级

    一.混合表达式哪个部分先计算: 1. 取决于操作符的优先级,不同操作符的优先级是不一样的,例如‘*’的优先级高于‘+’ 2. 上节的表格里越靠后,优先级越高. 3 . 同一表达式的相同操作符是按从左到 ...

  5. python学习笔记04 --------------基本运算符

    1.算数运算 + 加 - 减 * 乘 /   除 % 取模(先做除法,然后返回余数) ** 乘方(幂运算) //          取整(相除,然后返回商的整数部分) 2.比较运算(返回布尔值) == ...

  6. python学习笔记04:安装pip

    如果是从python官网下载的python版本(2.7.9或3.4)的安装包,其中已经内置了pip工具.那么只需要升级pip即可. 检测是否已安装pip: python -m pip --versio ...

  7. Python学习笔记04

    语句之后有冒号,表示有一个语句块,且以四个空格的缩进来表示隶属关系. 与C# 相比,没有了{},没有了(),被冒号和缩进取代了 if,while,for,range,continue,break if ...

  8. 【python学习笔记】5.条件、循环和其他语句

    [python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块     impo ...

  9. python3.4学习笔记(十) 常用操作符,条件分支和循环实例

    python3.4学习笔记(十) 常用操作符,条件分支和循环实例 #Pyhon常用操作符 c = d = 10 d /= 8 #3.x真正的除法 print(d) #1.25 c //= 8 #用两个 ...

随机推荐

  1. Java_继承

    继承的格式 继承它描述的是两个类之间的关系,如果一个子类继承父类,那么子类可以使用父类非私有的成员. 1 public class 父类{ 2 //成员变量 3 //成员方法 4 } 5 6 publ ...

  2. mybatis新手快速搭建成功详细操作

    1.数据库建表 在数据库中新建一个名为mybatis的数据库,在mybatis数据库中新建一张 t_user 表,表中有3个字段,id,name,password,代码如下: 新建一个mybatis数 ...

  3. 从零搭建springboot服务03-redis消息订阅

    愿历尽千帆,归来仍是少年 1.所需依赖 <!-- Redis依赖 --> <dependency> <groupId>org.springframework.boo ...

  4. Linux_网络进阶管理

    一.链路聚合 1.什么是链路聚合? 网卡的链路聚合就是将多块网卡连接起来,当-块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度. 2.链路聚合方式: ...

  5. linux中cat、more、less命令区别详解##less 最合适最好用,和vim一样好用

    linux中cat.more.less命令区别详解 caoxinyiyi关注 0.0362018.07.02 15:46:17字数 641阅读 516 linux中命令cat.more.less均可用 ...

  6. 7.7-9 chage、chpasswd、su

    7.7 chage:修改用户密码有效期 chage命令用于查看或修改用户密码的有效期,有些参数和passwd的功能相同.   -d    设置上一次密码更改的日期 -E    账号过期的日期.日期格式 ...

  7. 第七章 DevOps工具链

    DevOps工具生态圈 协同开发工具 敏捷开发 可视化 加强团队沟通协作 数据分析 协同开发 持续集成工具 Jenkins 自动化编译 自动化测试 自动化部署 丰富的插件库 版本管理工具 Git 简介 ...

  8. 在Spring Bean实例过程中,如何使用反射和递归处理的Bean属性填充?

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! <Spring 手撸专栏>目录 [x] 第 1 章:开篇介绍,我要带你撸 Spri ...

  9. 彻底解决Could not transfer artifact org.apache.maven.plugins问题

    今天在学习maven框架的时候出现Could not transfer artifact org.apache.maven.plugins问题,后面根据很多博客综合总结,终于解决了,现在分享一下我的方 ...

  10. [leetcode] (周赛)868. 二进制间距

    868. 二进制间距 读懂题意就出来了 class Solution { public int binaryGap(int N) { String s = Integer.toBinaryString ...