当前位置: 首页 > news >正文

Python基础_判断语句(if、elif、else)、if 嵌套、逻辑运算符(and、or、not )、随机数的处理

1、程序中的判断

在这里插入图片描述

if 今天发工资:
    先还信用卡的钱
    if 有剩余:
        又可以happy了~
    else:
        噢,no.
else:
    等着发工资...

判断的定义

  • 如果 条件满足,才能做某件事情;
  • 如果 条件不满足,就做另外一件事情,或者什么也不做;

判断语句 又被称为 “分支语句”,正是因为有了判断,才让程序有了很多的分支。

2、 if 语句

2.1、 if 判断语句基本语法

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

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

注意:代码的缩进为一个 tab 键,或者 4 个空格;

  • 在 Python 开发中,Tab 和空格不要混用!建议使用空格

我们可以把整个 if 语句看成一个完整的代码块
在这里插入图片描述

2.2、 判断语句演示

需求

  1. 定义一个整数变量记录年龄;
  2. 判断是否满 18 岁 (>=);
  3. 如果满 18 岁,提示:你长大了;
# 1. 定义年龄变量;
age = 18

# 2. 判断是否满 18 岁;
# if 语句以及缩进部分的代码是一个完整的代码块;
if age >= 18:
    print("你长大了;")
# 3. 循环外的语句,无论条件是否满足都会执行;
print("无论条件是否满足都会执行;")

注意

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

2.3、 else 处理条件不满足的情况

else,格式如下:

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

注意

  • ifelse 语句以及各自的缩进部分共同是一个 完整的代码块

2.4、 判断语句演示

需求

  1. 输入用户年龄;
  2. 判断是否满 18 岁 (>=);
  3. 如果满 18 岁,提示:你长大了;
  4. 如果未满 18 岁,提示:你还没长大;
# 1. 输入用户年龄
age = int(input("输入用户年龄:"))

# 2. 判断是否满 18 岁
# if 语句以及缩进部分的代码是一个完整的语法块
if age >= 18:
    print("你长大了;")
else:
    print("你还没长大;")

# 3. 循环外的语句,无论条件是否满足都会执行;
print("无论条件是否满足都会执行;")

3、 逻辑运算

  • 在程序开发中,通常 在判断条件时,会需要同时判断多个条件;
  • 逻辑运算符 可以把 多个条件 按照 逻辑 进行 连接,变成 更复杂的条件
  • Python 中的 逻辑运算符 包括:与 and或 or非 not 三种;

3.1、 and

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

3.2、 or

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

3.3、 not

not 条件
  • 不是
条件结果
成立不成立
不成立成立

逻辑运算练习

1、练习1:定义一个整数变量 age,编写代码判断年龄是否正确;

age = 100

# 要求人的年龄在 0-120 之间
if age >= 0 and age <= 120:
    print("年龄正确")
else:
    print("年龄不正确")

2、练习2:定义两个整数变量 python_score、c_score,编写代码判断成绩;

python_score = 50
c_score = 50

# 要求只要有一门成绩 > 60 分就算合格
if python_score > 60 or c_score > 60:
    print("考试通过")
else:
    print("再接再厉!")

3、练习3:定义一个布尔型变量 is_grow,编写代码判断是否是成年人;

is_grow= True

# 如果不是提示不允许入内;
if not is_grow:
    print("不允许入内!")

4、if 语句进阶

4.1、 elif

  • 在开发中,使用 if 可以 判断条件
  • 使用 else 可以处理 条件不成立 的情况;
  • 但是,如果希望 再增加一些条件条件不同,需要执行的代码也不同 时,就可以使用 elif
  • 语法格式如下:
if 条件1:
    条件1满足执行的代码;
elif 条件2:
    条件2满足时,执行的代码;
elif 条件3:
    条件3满足时,执行的代码;
else:
    以上条件都不满足时,执行的代码;
  • 对比逻辑运算符的代码
if 条件1 and 条件2:
    条件1满足 并且 条件2满足 执行的代码;

注意

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

elif 练习

holiday_name = "平安夜"

if holiday_name == "情人节":
    print("看电影")
elif holiday_name == "平安夜":
    print("吃苹果")
elif holiday_name == "生日":
    print("买蛋糕")
else:
    print("每天都是节日......")

4.2、 if 的嵌套

elif 的应用场景是:同时 判断 多个条件,所有的条件是 平级 的。

  • 在开发中,使用 if 进行条件判断,如果希望 在条件成立的执行语句中增加条件判断,就可以使用 if 的嵌套
  • if 的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断
  • if 的嵌套 的语法格式,除了缩进之外 和之前的没有区别;
  • 语法格式如下:
if 条件 1:
    条件 1 满足执行的代码;
    if 条件 1 基础上的条件 2:
        条件 2 满足时,执行的代码;  
    # 条件 2 不满足的处理
    else:
        条件 2 不满足时,执行的代码;
# 条件 1 不满足的处理
else:
    条件1 不满足时,执行的代码;

5、随机数的处理

  • Python 中,要使用随机数,首先需要导入 随机数模块 —— “工具包”;
import random
  • 导入模块后,可以直接在 模块名称 后面敲一个 . 然后按 Tab 键,会提示该模块中包含的所有函数。

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

  • 例如:

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

相关文章:

  • 【C语言】小游戏系列——扫雷(内含详细过程)
  • C++系列文章 —— 类和对象篇(上)(从入门到精通合集)
  • 7.5 文件系统
  • java计算机毕业设计伊伊物流公司的管理系统源码+数据库+系统+lw文档+部署
  • PCB设计笔记
  • 图卷积神经网络(GCN)
  • 【数据结构】八大排序
  • D*(Dynamic A*)路径规划算法
  • 16.12 - 基于数据流设计用例
  • 大数据工程师、数据挖掘师和数据分析师有啥区别
  • 面试让我手写红黑树?!
  • C/C++学习笔记 资源获取是初始化 (RAII) 理解
  • 高项 16 战略管理
  • Vue框架背后的故事
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • 《深入 React 技术栈》
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • nginx 配置多 域名 + 多 https
  • Node 版本管理
  • PAT A1050
  • tweak 支持第三方库
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 微信小程序实战练习(仿五洲到家微信版)
  • 一起参Ember.js讨论、问答社区。
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • Spring第一个helloWorld
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #pragma multi_compile #pragma shader_feature
  • #QT项目实战(天气预报)
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (Java数据结构)ArrayList
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • *2 echo、printf、mkdir命令的应用
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Framework杂记
  • .NET 设计模式初探
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NET多线程执行函数
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .NET是什么
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @Query中countQuery的介绍
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [ C++ ] 继承
  • [20171113]修改表结构删除列相关问题4.txt
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据