python从入门到精通:判断语句

目录

前言

1、布尔类型和比较运算符

2、if语句的基本格式

3、if else语句

4、if elif else语句

5、判断语句的嵌套

6、实战演练



前言

逻辑判断是生活中常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。

 判断是程序最基础最核心的逻辑功能。

1、布尔类型和比较运算符

判断语句会产生两个结果:是或否,在程序中通过使用布尔类型来描述。

描述说明
布尔(bool)

布尔表示现实生活中的逻辑,即真(True)和假(False)

True本质上是数字1,False记作0

定义变量存储布尔类型数据:

变量名称=布尔类型字面量 

布尔类型不仅可以自行定义,同时也可以使用比较运算符进行比较运算得到布尔类型的结果。

result = 10 >5
print("判断结果为%s,类型为{type(result)}")
# result_type = type(result);
# print("判断结果为%s,类型为%s" % (result, result_type))

 比较运算符:

运算符描述示例
==判断内容是否相等,满足返回True,反之返回False如3==3,返回True
!=判断内容是否不相等,满足返回True,反之返回False如1!=3,返回True
>

判断运算符左侧内容是否大于右侧

满足返回True,反之返回False

如7>3,返回True
<

判断运算符左侧内容是否小于右侧

满足返回True,反之返回False

如3<7,返回True
>=

判断运算符左侧内容是否大于等于右侧

满足返回True,反之返回False

如3>=3,返回True
<=

判断运算符左侧内容是否小于等于右侧

满足返回True,反之返回False

如3<=3,返回True

2、if语句的基本格式

程序中的判断

if 要判断的条件:

        执行内容

age = 20;
if age >= 18:print("成年人")
# 归属于if判断的代码语句块,需在前方填充4个空格缩进,python通过缩进来判断代码块的归属

 判断语句的结果,必须是布尔类型True或False,True会执行if内的代码语句,False则不会执行。

# 案例:手动输入年龄判断是否需要补票(注意类型转换)
print("欢迎来到游乐园,儿童免费,成人收费")
age = input("请输入你的年龄:")
age = int(age)
if age >= 18:print("您已成年,需要补票")
print("祝您游玩愉快!")

3、if else语句

if else语句可以实现在不满足条件的情况下执行对应的代码。

if 条件:

        执行内容1

        执行内容2

        ...

else:

        执行内容1

        执行内容2

        ...

print("欢迎来到游乐园,儿童免费,成人收费")
age = input("请输入你的年龄:")
age = int(age)
if age >= 18:print("您已成年,需要补票")
else:print("您未成年,可以免费游玩!")
print("祝您游玩愉快!")

 1、else之后,不需要判断条件

2、和if的代码块一样,else的代码同样需要4个空格作为缩进

# 案例:手动输入身高,判断是否超过120cm
print("欢迎来到动物园!")
height = int(input("请输入您的身高:"))
if height > 120:print("您的身高超过120cm,需要补票")
else:print("您的身高不足120cm,可以免费游玩")
print("祝您游玩愉快!")

4、if elif else语句

if elif else语句可以实现判断条件有多个的场景。

if 条件1:

        执行内容

elif 条件2:

        执行内容

...

elif 条件N:

        执行内容

else:

        所有条件都不满足时的执行内容

print("欢迎来到动物园!")
height = int(input("请输入您的身高:"))
vip_level = int(input("请输入您的VIP级别(1~5):"))
day = int(input("请输入今天的日期(1~30):"))
if height < 120:print("您的身高不足120cm,可以免费游玩")
elif vip_level > 3:print("您的VIP等级大于3,可以免费游玩")
elif day == 1:print("1号是欢乐日,可以免费游玩")
else:print("不好意思,您需要补票")
print("祝您游玩愉快!")
# elif判断语句可以有多个

 判断是互斥且有顺序的,空格缩进不能省略。

· 满足1条件将不会理会2和3

· 满足2,将不会理会3

· 1、2、3均不满足,进入else

· else也可以省略不写,效果等同于三个独立的if判断

# 猜心里数字
num = 10;
if int(input("请输入第一次猜想的数字:")) == num:print("第一次就猜对了")
elif int(input("不对,再猜一次:")) == num:print("恭喜你,猜对了!")
elif int(input("不对,最后再猜一次:")) == num:print("恭喜你,猜对了!")
else:print("全部都不对,我想的是:%d" % num)

5、判断语句的嵌套

在很多场景中,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。

许多逻辑的判断,是嵌套的,多层次的。

对于这种需求,我们可以:自由组合 if elif else 完成特定需求的要求

基础语法格式:

if 条件1:

        执行内容

        if 条件2:

                执行内容

如上图,第二个if内,只有第一个if满足条件,才会执行第二个if

嵌套语句的特点在于:空格缩进

通过空格缩进,来决定语句之间:层次关系 

print("欢迎来到动物园!")
height = int(input("请输入您的身高:"))
vip_level = int(input("请输入您的VIP级别(1~5):"))
if height > 120:print("你的身高大于120,不可以免费游玩")print("如果你的VIP等级高于3级可以免费")if vip_level > 3:print("您的VIP等级大于3,可以免费游玩")else:print("需要补票")
else:print("你可以免费游玩")
print("祝您游玩愉快!")
# 案例:公司发礼物需要满足条件:1、年龄大于等于18小于30的成年人 2、同时入职时间满足需满足大于两年,或者级别大于3才可以领取
age = int(input("年龄:"));
year = int(input("入职年限:"))
level = int(input("级别:"))
if age >= 18:if age < 30:print("年龄达标")if year > 2:print("年龄达标,且入职时间大于两年,可以领取礼物")elif level > 3:print("级别达标的成年人,可以领取礼物")else:print("入职时间和级别均不达标")else:print("年龄超标了")
else:print("未成年")

6、实战演练

# 随机产生一个数字范围再1~10,有三次判断机会,每次没猜到会提示大了或小了
# 产生一个随机数在
import random
num =random.randint(1,10)
# print(num)
guess_num = int(input("请输入您要猜测的数字:"))
# 通过if判断数字的猜测
if guess_num == num:print("恭喜你猜对了!")
else:if guess_num > num:print("猜大了!")elif guess_num < num:print("猜小了!")guess_num = int(input("再次输入您要猜测的数字:"))if guess_num == num:print("恭喜你猜对了!")else:if guess_num > num:print("猜大了!")elif guess_num < num:print("猜小了!")guess_num = int(input("第三次输入您要猜测的数字:"))if guess_num == num:print("恭喜你猜对了!")else:print("很遗憾,机会用完了,您未猜中")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/399644.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hive3:识别内部表、外部表及相互转换

一、识别方法 查看内部表信息 desc formatted stu;查看外部表信息 desc formatted test_ext1;通过Table Type对应的值&#xff0c;我们可以区分外部表和内部表。 二、相互转换 内部表转外部表 alter table stu set tblproperties(EXTERNALTRUE);外部表转内部表 alter ta…

应急响应-主机安全之系统及进程排查相关命令(Linux操作系统-初级篇)

目录 概述lscpu-显示有关CPU架构的信息uname-查看系统信息lsmod-输出加载的所有模块lastb-输出最后登录失败的用户last-展示用户最近登录信息lastlog-展示所有用户最后的登录时间systemctl-系统服务&#xff0c;开机自启排查crontab-计划任务选项 history-查看历史命令选项常用…

正向代理 vs 反向代理:有什么区别?

在本文中&#xff0c;我们将讨论&#xff1a; 什么是常规代理&#xff08;正向代理&#xff09;&#xff1f;什么是反向代理&#xff1f;我应该为我的业务选择哪种代理&#xff1f;使用正向和反向代理的案例完成任务的代理替代方案 什么是常规代理&#xff08;正向代理&#…

【Electron】npm安装Electron项目失败报错问题和解决办法

前言 闲来无事&#xff0c;便想着研究一下Electron&#xff0c;没想到安装直接就卡住了 问题 npm ERR! RequestError: Hostname/IP does not match certificates altnames: Host: npm.taobao.org. is not in the certs altnames: DNS:*.tbcdn.cn, DNS:*.taobao.com, DNS:*.al…

haproxy是什么?以及haproxy基础实验

目录 一、什么是负载均衡&#xff1f; 二、为什么要用haproxy&#xff1f; 三、haproxy的基本部署实验&#xff1a; 3.1 基本配置实验 环境准备&#xff1a; 详细步骤&#xff1a; 3.2 haproxy-多进程与多线程实验&#xff1a; 多进程&#xff1a; 多线程&#xff1a;…

【开源 Mac 工具推荐之 4】Awesome-macOS:全能的宝藏工具库

简介 Awesome-macOS 是一个开源项目&#xff0c;属于 GitHub 的热门项目“Awesome”的体系&#xff0c;旨在为 macOS 用户提供一个集合了各种优秀的 macOS 应用程序、插件、脚本和工具的精选列表。该项目由开源社区共同维护&#xff0c;通过不断收集和整理优秀的macOS资源&…

LeetCode - 209 - 长度最小的子数组

力扣209题 题目描述&#xff1a;长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度**。**如果不存在符合条件的子数组&…

IO网络编程

思维导图 作业一&#xff1a;使用wasd控制机械臂 #include<myhead.h> #include <termios.h> #define SER_PORT 8888 //与服务器保持一致 #define SER_IP "192.168.0.103" //服务器ip地址 #define CLI_PORT 6666 //客户端…

【C++ 项目】负载均衡在线 OJ

文章目录 &#x1f308; 一、项目介绍&#x1f308; 二、项目源码&#x1f308; 三、项目演示⭐ 1. 前端界面展示⭐ 2. 后端界面展示 &#x1f308; 四、项目准备⭐ 1. 项目所用技术⭐ 2. 项目开发环境⭐ 3. 项目宏观结构 &#x1f308; 五、comm 公共模块⭐ 1. util.hpp 工具⭐…

【Android】安卓四大组件之Service用法

文章目录 使用Handler更新UIService基本特点启动方式非绑定式服务使用步骤 绑定式服务步骤 生命周期非绑定式启动阶段结束阶段 绑定式启动阶段结束阶段 前台Service使用步骤结束结束Service本身降级为普通Service降级为普通Service 使用Handler更新UI 主线程创建Handler对象&a…

房产中介小程序

本文来自&#xff1a;ThinkPHPFastAdmin房产中介小程序 - 源码1688 应用介绍 产中介小程序是一款基于ThinkPHPFastAdmin开发的原生微信小程序&#xff0c;为房地产中介提供房源管理、发布、报备客户、跟踪客户以及营销推广获客等服务的系统。 前端演示&#xff1a; 后台演示&am…

冷数据归档(历史库),成本与性能如何兼得?| OceanBase应用实践

随着数据量的迅猛增长&#xff0c;企业和组织在数据库管理方面遭遇的挑战愈发凸显。数据库性能逐渐下滑、存储成本节节攀升&#xff0c;以及数据运维复杂性的增加&#xff0c;这些挑战使得DBA和开发者在数据管理上面临更大的压力。 为了应对这些挑战&#xff0c;对数据生命周期…

奇异值分解(SVD)

1 奇异值分解(SVD)简介 Beltrami 和 Jordan 被认为是奇异值分解&#xff08;Singular Value Decomposition&#xff0c;SVD&#xff09;的共同开创者&#xff0c;二人于19世纪70年代相继提出了相关理论。奇异值分解主要解决的问题是数据降维。在高维度的数据中&#xff0c;数据…

Tied and Anchored Stereo Attention Network for Cloud Removal in Optical

论文名称 基于固定锚定立体注意力网络的光学遥感图像去云方法代码运行 论文代码 https://github.com/ningjin00/TASANet?tabreadme-ov-file 论文地址 1环境创建 模型环境给了这几个包&#xff0c;如果你自带环境 那就运行代码 提示缺哪个装哪个 python 3.12rasterio 1.3.10…

【AI人工智能】文心智能体 - 你的专属车牌设计师

引言 自AI盛行以来&#xff0c;不断有各种各样的人工智能产品崭露头角。我们逐步跟着不断产生的人工智能来使自己的工作和生活变得更加智能化&#xff01;那么我们是否能够创造一款专属于自己的人工智能产品呢&#xff1f; 文心智能体平台就给我们提供了这样的机会&#xff0c…

数值微分求梯度、计算图求梯度,实现单层线性回归 模型速度差异及损失率比对

文章目录 简述测试结果完整代码 简述 先将前面两篇文章的代码重构一下&#xff0c;抽离共同函数到utils.py。 重构后结构&#xff1a; ComputationGraphLinearNet.py&#xff1a; 使用计算图&#xff08;forward、backward&#xff09;求梯度构建的线性模型&#xff0c;代码…

分库分表的使用场景和中间件

文章目录 一、为什么要分库分表&#xff1f;分库分表的使用场景&#xff1f;二、分库分表常用中间件1、Cobar2、TDDL3、Atlas4、Sharding-jdbc5、Mycat6、总结 一、为什么要分库分表&#xff1f;分库分表的使用场景&#xff1f; 场景1&#xff1a;注册用户就 20 万&#xff0c…

<数据集>集装箱缺陷识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;3793张 标注数量(xml文件个数)&#xff1a;3793 标注数量(txt文件个数)&#xff1a;3793 标注类别数&#xff1a;4 标注类别名称&#xff1a;[DAMAGE - DEFRAME, DENT, DAMAGE - RUST, DAMAGE - HOLE] 序号类别名…

飞睿智能8km无人机WiFi图传模块,高清、稳定、超远距!实时传输新高度

在数字化飞速发展的今天&#xff0c;无人机已经从一个遥不可及的科幻概念&#xff0c;变成了我们日常生活中的得力助手。无论是航拍美景、农业植保&#xff0c;还是紧急救援、物流配送&#xff0c;无人机都展现出了其独特的优势。而在这背后&#xff0c;一个至关重要的技术支撑…

ThinkPHP教程

thinkPHP笔记 01. phpEnv配置安装 主讲老师 - 李炎恢 1. 学习基础 ThinkPHP8.x: 前端基础:HTML5/CSS(必须)、JavaScript(可选、但推荐有);后端基础:PHP基础,版本不限,但不能太老,至少PHP5.4以上语法,TP8是兼容PHP8.x的;数据库基础:MySQL数据库,掌握了常规的SQL…