Python学习(4)

  • 一、python的 if 判断语句
  • 二、python的逻辑运算
    • 1. and
    • 2. or
    • 3. not
  • 三、python的 elif 判断语句
  • 四、python的if 嵌套
  • 五、随机数的处理
  • 六、石头剪刀布 ---演练

一、python的 if 判断语句

在python 中,if 语句 就是用来进行判断的,格式如下:

if 要判断的条件:
      条件成立时,要做的事情 ... 

注意:代码的缩进为一个 Tab 键,或者4 个空格 ——建议使用空格
在python 开发中,Tab 和 空格 不要混用!

if 语句以及缩进部分是一个完整的代码块。

在这里插入图片描述
if - else 格式:

if 要判断的条件:
      条件成立时,要做的事情 ... else :
      条件不成立时,要做的事情 ... 

注意:
if 和 else 语句以及各自的缩进部分共同是一个 完整的代码块。

在这里插入图片描述

示例:

age = int (input ("请输入年龄:")) if age >= 18: print("你已经成年,欢迎来网吧嗨皮") else: print("你还未成年,请回家写作业吧") 

二、python的逻辑运算

  1. 在程序开发中,通常 在判断条件时,会需要同时判断多个条件
  2. 只有多个条件都满足,才能够执行后续代码,这个时候需要使用到 逻辑运算符
  3. 逻辑运算符 可以多个条件 按照 逻辑 进行连接,变成 更复杂的条件
  4. python 中的逻辑运算符,包括: 与 and 、或 or 、非 not 三种

1. and

 条件1 and 条件2 
  • 与、并且
  • 两个条件同时满足,返回 True
  • 只要有一个不满足,就返回 False
条件1 条件2 结果
成立 成立 成立
成立 不成立 不成立
不成立 成立 不成立
不成立 不成立 不成立

2. or

 条件1 or 条件2 
  • 或、或者
  • 两个条件只要有一个满足,返回 True
  • 两个条件都不满足,就返回 False
条件1 条件2 结果
成立 成立 成立
成立 不成立 成立
不成立 成立 成立
不成立 不成立 不成立

3. not

 not 条件2 
  • 非、不是
条件 结果
成立 不成立
不成立 成立

示例:
要求人的年龄在0-120 之间

if age >= 0 and age <= 120: print("年龄正确") else: print("年龄不正确") 

三、python的 elif 判断语句

elif

  1. 在开发中,使用 if 可以 判断条件
  2. 使用else 可以处理 条件不成立的情况
  3. 但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同时,就可以使用 elif

具体语法格式:

if 条件1:
	条件1满足执行的代码 ... elif 条件2:
	条件2满足时,执行的代码 ... elif 条件3:
	条件3满足时,执行的代码 ... else:
	以上条件都不满足时,执行的代码 ... 

对比逻辑运算符的代码

if 条件1 and 条件2:
	条件1满足 并且 条件2满足 执行的代码 ... 

注意:

1. elif 和 else 都必须和 if 联合使用,而且不能单独使用
2. 可以将 if 、 elif 和 else 以及各自缩进的代码 ,看成一个 完整的代码块

四、python的if 嵌套

  • elif 是:同时判断多个条件,所有条件 是平级的
  • 在开发中,使用 if进行条件判断时,如果希望在条件成立的执行语句中,再增加条件判断,就可以使用 if 嵌套
  • if 的嵌套 的应用场景就是:在之前条件满足的前提下,在增加额外的判断
  • if 的嵌套 的语法格式:除了缩进之外 和 之前的没什么区别

格式:

if 条件1:
	条件1满足执行的代码 ... if 条件1 基础上的条件2:
		条件2满足时,执行的代码 ... #条件2 不满足时的处理 else :
      条件 2 不满足时,执行的代码 ... #条件1 不满足时的处理 else :
	条件 1 不满足时,执行的代码 ... 

pycharm 中 代码集体缩进:
选中所选代码,按“tab”。
向左移动:“shift + tab”

五、随机数的处理

在python中,要使用随机数,首先需要导入 随机数 的模块 --“工具包”

import random 

注意: 在导入工具包的时候,应该把导入的语句,放在文件的顶部 因为,这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具
导入模块后,可以直接在模块名称后面敲一下 . 然后 按 tab 键,会提示该模块中包含的所有函数(在命令框)
在这里插入图片描述

random.randint(a,b) ,返回 [a,b] 之间的整数,包含 a 和 b

例如:

random.randint(12,20) #  生成随机数 n : 12 <= n <= 20 random.randint(20,10) #  结果永远都是 20 random.randint(20,20) #   该语句是错误的,下限 必须 小于上限 

六、石头剪刀布 —演练

需求:

  • 从控制台输入要出的拳-----石头(1)、剪刀(2)、布(3)
  • 电脑 随机 出拳 ----先假定电脑只会出石头,完成整体代码功能
  • 比较胜负

小技巧:代码太长如何换行:
例如:if ()or()or()
换行:if( ()or()or() ) # 条件语句 加括号
可以:if(()
or()
or())

代码如下:

# 导入随机工具包 # 注意: 在导入工具包的时候,应该把导入的语句,放在文件的顶部 # 因为,这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具 import random # - 从控制台输入要出的拳 - ----石头(1)、剪刀(2)、布(3) player = int(input("请输入您要出的拳 石头(1)/剪刀(2)/布(3):")) # - 电脑随机出拳 - ---先假定电脑只会出石头,完成整体代码功能 computer = random.randint(1, 3) print("玩家选择的拳头是 %d - 电脑出的拳是 %d " % (player, computer)) # - 比较胜负 # 1 石头 胜 剪刀 # 2 剪刀 胜 布 # 3 布 胜 石头 if((player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1)): print("欧耶,电脑弱爆了!") # 平局 elif player == computer : print("真是心有灵犀啊,再来一盘") # 其他的情况就是电脑获胜 else: print("不服气,我们决战到天明!") 

标签:

Python学习(4)( If 判断语句 、逻辑运算、elif、if嵌套、随机数、石头剪刀布程序)的更多相关文章

  1. python 基于UDP协议套接字通信的实现

    一、UPD实现单用户通信服务端:'''from socket import *server=socket(AF_INET,SOCK_DGRAM)- 这里代指的是一种数据报协议,数据报协议指的就是udp协议(补充: 数据报就是自己utp协议中有自己的头,有自己的数据部分)server.bind('IP......

  2. Python基础(下篇)

    本篇文章主要内容:异常处理,函数,模块和包。 本篇文章主要内容:异常处理,函数,模块和包。 在开始正篇之前我们先来看看上一篇可乐留下的题目。 题目: 变量 a= {"name": "可乐", "age"......

  3. python常见题型

    语言特性1. 谈谈对 Python 和其他语言的区别2. 简述解释型和编译型编程语言3. Python 的解释器种类以及相关特点?4. Python3 和 Python2 的区别?5. Python3 和 Python2 中 int 和 long 区别?6. xrange 和 range 的区别?编......

  4. Python基础(中篇)

    数据类型的常用方法,条件语句,循环语句。本篇文章主要内容:数据类型的常用方法,条件语句,循环语句。在开始正篇之前我们先来看看上一篇留下的题目。题目:定义一个字典a,有两个键值对:一个键值对key是可乐,value是18;另一个键值对key是python,value是列表形式的1,2,3,4,5。答案......

  5. Pytorch数据读取与预处理该如何实现

    在炼丹时,数据的读取与预处理是关键一步。不同的模型所需要的数据以及预处理方式各不相同,如果每个轮子都我们自己写的话,是很浪费时间和精力的。Pytorch帮我们实现了方便的数据读取与预处理方法,下面记录两个DEMO,便于加快以后的代码效率。根据数据是否一次性读取完,将DEMO分为:1、串行式读取。也就......

  6. Python基础篇

    一、准备工作1、安装Python(注意选择一个稳定的版本,方便学习和使用)Python官网:https://www.python.org/2、安装一个anacondaanaconda官网:https://www.anaconda.com/安装完成之后在cmd里面输入conda -V检测,如果出现版本......

  7. python中温度单位转换的实例方法

    温度有摄氏度和华氏度两个单位,我们通常使用的是摄氏度,对于转换成华氏度,很多小伙伴记不住公式。作为万能的计算机,它是可以帮助我们解决温度单位转换的问题。本文主要演示python中进行温度单位转换的代码过程,具体请看本文。一、问题温度有摄氏度(Celsius)和华氏度(Fabrenheit)两个不同的......

  8. [Python] Pandas 对数据进行查找、替换、筛选、排序、重复值和缺失值处理

    如何使用pandas模块中的函数对DataFrame中的数据进行查找和替换目录1. 数据文件2. 读数据3. 查找数据4. 替换数据4.1 一对一替换4.2 多对一替换4.3 多对多替换5. 插入数据6. 删除数据6.1 删除列6.2 删除行7. 处理缺失值7.1 数据准备7.2 查看缺失值7.3 ......

  9. 剪枝决策树原理与Python实现

    机器学习经典模型决策树的实现原理,以及Python实现目录一、决策树模型 二、选择划分 2.1 信息熵和信息增益 2.2 增益率 2.3 基尼指数 三、剪枝 3.1 预剪枝 3.2 后剪枝 3.3 剪枝示例 3.4 预剪枝和后剪枝对比 四、Python实现 4.1 基尼值和基尼指数 4.2 选择划分......

  10. Python实现微信表情包炸群

    Python实现微信表情包炸群# -*- coding = utf-8 -*- # @Time : 2021/1/26 15:19 # @Author : 陈良兴# @File : 微信表情包炸群.py# @Software : PyCharm# 运行程序 > 输入次数 > 回车 >......

随机推荐

  1. Java SPI 与 Dubbo SPI

    SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制。本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。在Java中SPI是被用来设计给服务提供商做插件使用的。基于策略模式来实现动态加......

  2. Python3利用scapy局域网实现自动多线程arp扫描功能

    一、所需Python库from scapy.all import *import threading二、实现ip扫描1.获取c段ip地址在ARP()里面有ip地址,我们可以从里面提取出前3段出来ARP().show()然后通过从后查找最后一个.得到最后一段位数,然后总长度-最后一段长度就能取出前3段......

  3. PHP文件操作简单介绍及函数汇总

    文件操作一直是Web程序员头疼的地方,而文件操作在CMS这样的系统中又是必须的。如今,PHP文件操作的函数内容已经非常强大,文件这部分也是学习PHP非常重要的一部分,希望大家不要忽略。这篇文章会简单介绍一下PHP的几个基本文件操作,最后附有PHP文件函数汇总,供大家参考和学习。1. 打开文件:fop......

  4. 全局负载均衡与CDN内容分发

    高并发时,一些静态资源(例如商品详情页)最好分配在用户较近的边缘服务器上,节省宽带资源,本文主要梳理了全网负载均衡中基于DNS、HTTP重定向、IP欺骗等具体实现方式,另外简单梳理了CDN内容分发,每一个大知识点都画图展示,一图胜前言。CDN简介CDN的全称是Content Delivery Net......

  5. postgresql 中的序列nextval详解

    一、postgresql中的序列1.1 场景需求需要向下图一样,需要对产品编码编码设置一个序列。编码规则 SKU + 序列号:1.2 序列序列是基于bigint算法的,因此范围是不能超过一个八字节 整数的范围(-9223372036854775808 到 9223372036854775807)。由......

  6. Java 反射修改类的常量值、静态变量值、属性值

    前言有的时候,我们需要修改一个变量的值,但变量也许存在于 Jar 包中或其他位置,导致我们不能从代码层面进行修改,于是我们就用到了下面的场景,通过反射来进行修改变量的值。定义一个实体类class Bean{ private static final Integer INT_VALUE = 100;......

  7. 基于Python的接口自动化-读写配置文件

    引言在编写接口自动化测试脚本时,有时我们需要在代码中定义变量并给变量固定的赋值。为了统一管理和操作这些固定的变量,咱们一般会将这些固定的变量以一定规则配置到指定的配置文件中,后续需要用到这些变量和变量值时通过代码读取或者写入数据到该配置文件即可,使用配置文件的好处就是不用在程序员写死,可以使程序更灵......

  8. java DelayQueue的原理浅析

    在对DelayQueue延迟功能的使用上,很多人不能后完全理解延迟的一些功能使用,这里我们深入来挖掘一下DelayQueue的原理。下面将从构造方法、接口、继承体系三个方面进行分析,需要注意的是,相较于其它的阻塞队列,DelayQueue因为延迟的功能多了接口的使用,一起来看具体内容。1.构造方法p......

  9. 讲讲Java8的Optional类

    前言Java 8中引入了 Optional 类来解决 NullPointerException 与繁琐的 null 检查,该类首次出现在 Guava。Java 8 才成为类库中的一部分。入门Optional 是一个封装值的类,用于保存类型为 T 的值;本质上,Optional 就是一个容器。举例来说......

  10. JVM必不可少的知识

    1.Java垃圾回收机制对象被判断为垃圾的标准:没有被其他对象引用2.判断对象是否可被回收(1)引用计数算法判断对象的引用数量通过判断对象的引用数量来决定对象是否可以被回收每个对象实例都有一个引用计数器,被引用则+1,完成引用则-1任何引用计数为0的对象实例可以被当作垃圾回收优点:执行效率高,程序执......