探索Python条件语句的奇妙世界:解密逻辑与控制流

在这里插入图片描述

文章目录

  • 前言
  • if 语句
  • if ... else ...
  • 多重判断(if ... elif ... else...)
  • if 嵌套
  • 猜数字游戏
  • 三目运算符

前言

Python的条件语句用来根据特定的条件决定程序的执行流程。它允许程序根据条件的真假执行不同的代码块,从而实现不同情况下的不同操作。条件语句使程序能够根据特定条件进行逻辑判断和选择性的控制,从而增强了程序的灵活性和可扩展性。那么今天将由我来带大家进入 python 条件语句这一奇妙世界。🚗🚗🚗

if 语句

if 条件语句:
	执行代码
	...

生活中时间的24小时制大家应该都知道吧,当到了晚上12点的时候,小时表示会从24变为0,那么通过代码我们该怎么实现呢?

hour = 24
# 这里添加一个判断语句:当 hour 为24时,就重置为0
if hour == 24:
    hour = 0
print(f'现在是{hour}时')

在这里插入图片描述

注意了,python 中判断是不是属于 if 代码块的标准是:是否有相同的缩进,当你没有相同的缩进的时候就会被认为不属于 if 代码块。

hour = 24
# 这里添加一个判断语句:当 hour 为24时,就重置为0
if hour == 24:
    hour = 0
    print('代码块1')  # 这一行代码属于 if 代码块
print('代码块2')  # 这一行代码不属于 if 代码块,跟 if 语句无关
print(f'现在是{hour}时')

在这里插入图片描述

hour = 23
# 这里添加一个判断语句:当 hour 为24时,就重置为0
if hour == 24:
    hour = 0
    print('代码块1')  # 这一行代码属于 if 代码块
print('代码块2')  # 这一行代码不属于 if 代码块
print(f'现在是{hour}时')

在这里插入图片描述

if … else …

if 条件1:
	代码块1
else:
	代码块2
...

当 if 的条件成立时就执行 if 中的代码,并且不执行 else 当中的代码;当 if 的条件不成立时,则执行 else 当中的代码块。也就是说只会执行 if 或者 else 中一种代码。

# 记住了这里的 input 输入的类型是 str 类型
age = int(input('请输入你的年龄'))
if age >= 18:
    print('成年')
else:
    print('未成年')

在这里插入图片描述
在这里插入图片描述

多重判断(if … elif … else…)

if 条件1:
	执行代码1
elif 条件2:
	执行代码2
elif 条件3:
	执行代码3
	...
else:
	执行代码4

同样多重判断也是只会执行其中的一种判断,如果 if 条件成立,就执行 if 中的代码,并且不会执行 elif 和 else 中的代码;如果 if 条件不成立,elif 条件成立,则执行 elif 当中的代码块,并且不会执行 else 当中的代码;如果 if 和 elif 的条件都不成立,则执行 else 中的代码。

# 根据输入的年龄判断你处于那个年龄阶段
age = int(input('请输入你的年龄'))
if age < 18:
    print('青少年')
elif (age >= 18) and (age < 30):
    print('青年')
elif (age >= 30) and (age < 60):
    print('中年')
else:
    print('老年')

在这里插入图片描述
在这里插入图片描述

if 嵌套

if 条件1:
	执行语句1
	if 条件2:
		执行语句2
	elif 条件3:
		执行语句3
	else:
		执行语句4
elif 条件4:
	执行语句5
else:
	执行语句6

在判断中可以再嵌套判断,以此来达到多次判断的目的,使数据更加准确。

# 假设去某公司招聘
degree = 1  # 1代表本科及以上的学历
ability1 = 1  # 具有能力1
ability2 = 0
if degree == 1:
    if (ability1 == 1) and (ability2 == 1):
        print('担任职务1')
    else:
        print('担任职务2')
else:
    print('对不起,您并未达到我们的学历要求')

在这里插入图片描述

猜数字游戏

这里我们使用上面学习到的条件语句来简单的完成一个猜数字游戏。

猜数字游戏基本流程:
1.使用 random 模块下的randint 方法生成一个随机数。
2.玩家猜数字
3.判断玩家猜的数字与生成的数字的大小关系

# 猜数字游戏
import random  # 导入 random 模块
num = random.randint(0,100)  # 使用random 模块下的 randint 方法生成随机数
while 1:  # 因为不可能一次就猜中,所以我们将猜数字放入循环中,
# 这里知道就想好了,我们后面再介绍 while 循环
    guess = int(input('请输入你要猜的数字'))
    if guess > num:
        print('猜大了')
    elif guess < num:
        print('猜小了')
    else:
        print(f'猜对了,数字是{num}')
        break  # break 的作用是跳出 while 循环

在这里插入图片描述

三目运算符

使用三目运算符可以简化代码,特别是在一些简单的条件判断和赋值操作中。

1 if 条件 else2

三目运算符的执行顺序:先判断 if 条件是否成立,如果成立,那么该三目运算符的结构就是值1,如果不成立,三目运算符的结果就是值2。

# c为a 和 b 中的较大值
a = int(input('a = '))
b = int(input('b = '))
c = a if a > b else b
print('c = %d' % c)

在这里插入图片描述

但需要注意,过度使用三目运算符可能会导致代码难以理解,因此应该适度使用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ES6: 模版字符串

前言: ES5 中我们表示字符串的时候使用 或者 "" 作用: 在 ES6 中&#xff0c;我们还有一个东西可以表示字符串&#xff0c;就是 &#xff08;反引号&#xff09; let str hello worldconsole.log(typeof str) // string和单引号还有双引号的区别: 反引号可以换行…

《面向分布式云的直播及点播云技术创新方案》获中国信通院“分布式云技术创新先锋案例”

由中国信息通信研究院、中国通信标准化协会主办的第三届“云边协同大会”于 6 月 30 日在京举办。阿里云视频云团队凭借 《面向分布式云的直播及点播云技术创新方案》 在一众产品服务中脱颖而出&#xff0c;荣获「分布式云技术创新先锋案例」。 面向分布式云技术的直播及点播云…

83、基于STM32单片机录音机录音笔语音存储回放TF卡TFT屏系统设计(程序+原理图+PCB源文件+参考论文+硬件设计资料+元器件清单等)

单片机主芯片选择方案 方案一&#xff1a;AT89C51是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS型8位单片机&#xff0c;器件采用ATMEL公司的高密度、非易失性存储技术生产&#xff0c;兼容标准MCS-51指令系统&#xff0c;片内置通用8位中央处理器(CPU)和Flash存储单元&a…

git介绍和使用

目录 一、git概述 1、简介 2、下载安装 二、git代码托管服务 1、常用的 Git 代码托管服务 2、使用码云代码托管服务 三、git常用命令 1、git全局设置 2、获取git仓库 3、工作区、暂存区、版本库 概念 4、Git工作区中文件的状态 5、本地仓库操作 6、远程仓库操作 …

python简单实现人脸检测/跟随

import cv2# 加载人脸识别器的模型 face_cascade cv2.CascadeClassifier(cv2.data.haarcascades haarcascade_frontalface_default.xml)# 打开摄像头 cap cv2.VideoCapture(0)# 初始化人脸框位置 prev_faces []# 定义绘制带圆角矩形边框的函数 def draw_rounded_rectangle(…

pip安装opencv-python不成功

一个比较笨但还算有效的方法&#xff1a;如果你的python版本较低&#xff0c;如现在2023-07-04使用python3.6环境&#xff0c;使用pip默认安装会是最新的4.8.0.7版本&#xff0c;但事实上这个版本不支持py3.6环境&#xff0c;所以你需要去这里查支持py3.6的最近的一个版本是什么…

从 AI 增强到大模型,企业使用数据的方式又将如何变化?

AI&#xff08;Artificial Intelligence&#xff0c;人工智能&#xff09;的发展不过百年&#xff0c;却已经深刻影响着人们的思维和见解&#xff0c;并逐渐关联到每个人生活和工作的方方面面。从最初的规则引擎和引入统计学方法&#xff0c;到基于知识表示和推理机制的专家系统…

VScode中的插件

开启VScode中最简单的内部浏览器 - 可以访问外网 - Browser Preview 插件安装&#xff1a; 插件使用&#xff1a;由下角 - 状态栏 - VS Browser按钮 live sass compiler-vscode插件将scss编译为css live sass compiler是VSCode扩展&#xff0c;可以实时地将SASS / SCSS文件…

POSTGRESQL SQL 执行用 IN 还是 EXISTS 还是 ANY

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到3群&#xff08;共…

【youcans动手学模型】MobileNet 模型-CIFAR10图像分类

欢迎关注『youcans动手学模型』系列 本专栏内容和资源同步到 GitHub/youcans 【youcans动手学模型】MobileNet 模型-CIFAR10图像分类 1. MobileNet 卷积神经网络模型1.1 模型简介1.2 论文介绍 2. 在 PyTorch 中定义 MobileNet V1 模型类2.1 深度可分离卷积&#xff08;DSC&…

转换流~~

乱码如何解决&#xff1a; 使用字符输入转换流可以提取文件&#xff08;GBK&#xff09;的原始字节流&#xff0c;原始字节不会存在问题然后把字节流以指定编码转换成字符输入流&#xff0c;这样字符输入流中的字符就不乱码了 1&#xff1a;字符输入转换流 字符转换输入流&a…

uni-App踩坑记录

​ 1、uni自己封装的axios在真机中失效&#xff0c;发不出请求 uniapp中使用axios 需要配置适配器 (添加适配器有点费劲&#xff0c;直接封装uni自带请求也可以) axios-adapter-uniapp传送门 axios.defaults.adapter function(config) { //自己定义个适配器&#xff0c;用来…

2023年生猪行业研究报告

第一章 行业概况 生猪是指猪类动物中未经加工的、原始的、活体的猪&#xff0c;通常是指用于肉类生产的猪。生猪在全球范围内都是主要的肉类来源之一。它们的肉质丰富&#xff0c;营养价值高&#xff0c;同时还能用来制作各种加工肉类产品&#xff0c;如火腿、香肠等。 生猪养…

AR试穿试戴相关SDK或平台

1.火山引擎 链接 咨询过平台收费比较高几十万一年而且还是起步价 2.Geenee 链接 geenee在衣服、裤子、头饰以及鞋子方面可以实现试穿。 3.Wanna 链接 Wanna 试衣、试包、试鞋及手表都可以&#xff0c;我试过鞋子的试穿效果还不错 4.DeepAR …

nginx进行反向代理

Nginx是一个开源的高性能Web服务器和反向代理服务器。它最初是由Igor Sysoev在2004年开发的&#xff0c;现在由一个全球性的社区维护和支持。 Nginx的主要特点包括&#xff1a; 高性能&#xff1a;Nginx使用事件驱动模型&#xff0c;可以处理高并发请求&#xff0c;具有出色的…

信息服务上线渗透检测网络安全检查报告和解决方案4(网站风险等级评定标准、漏洞危害分级标准、漏洞安全建议)

系列文章目录 信息服务上线渗透检测网络安全检查报告和解决方案3(系统漏洞扫描、相对路径覆盖RPO漏洞、nginx漏洞修复)信息服务上线渗透检测网络安全检查报告和解决方案2(安装文件信息泄漏、管理路径泄漏、XSS漏洞、弱口令、逻辑漏洞、终极上传漏洞升级)信息服务上线渗透检测网…

常微分方程(ODE)求解方法总结(续)

常微分方程&#xff08;ODE&#xff09;求解方法总结&#xff08;续&#xff09; 1 隐式方法2 多步法2.1 二阶方法2.1.1 非自启动修恩方法2.2 开型和闭型积分公式2.3 高阶多步法 1 隐式方法 常微分方程&#xff08;ODE&#xff09;求解方法总结 里面介绍了我称为“正常思路”的…

C/C++的发展历程和未来趋势

文章目录 C/C的起源C/C的应用C/C开发的工具C/C未来趋势 C/C的起源 C语言 C语言是一种通用的高级编程语言&#xff0c;由美国计算机科学家Dennis Ritchie在20世纪70年代初期开发出来。起初&#xff0c;C语言是作为操作系统UNIX的开发语言而创建的。C语言的设计目标是提供一种功…

Transformer时间序列:PatchTST引领时间序列预测进

Transformer时间序列&#xff1a;PatchTST引领时间序列预测进 引言为什么transformer框架可以应用到时间序列呢统计学模型深度学习模型 PatchTSTPatchTST模型架构原理。通道独立性Patchingpatching的优点Transformer编码器 利用表示学习改进PatchTST使用PatchTST模型进行预测初…

【RabbitMQ】

一、概念 MQ&#xff08;消息队列&#xff09;&#xff1a;是指在消息传送过程中保存消息的容器&#xff0c;用于分布式系统之间的通信 生产者&#xff1a;是发送消息的用户应用程序。 队列&#xff1a;是存储消息的缓冲区。 消费者&#xff1a;是接收消息的用户应用程序。 1…
最新文章