【0基础入门Python笔记】二、python 之逻辑运算和制流程语句
二、python 之逻辑运算和制流程语句
- 逻辑运算
- 控制流程语句
- 条件语句(if语句)
- 循环结构(for循环、while循环)
- continue、break和pass关键字
- 控制流程语句的嵌套以及elif
逻辑运算
Python提供基本的逻辑运算:不仅包括布尔运算(and、or、not),还包括比较运算符(==、!=、<、>、<=、>=),用于比较两个值之间的关系。这些运算符用于判断表达式是否为真或为假,从而进行条件判断。
逻辑运算规则如下表所示(其中x=1,y=2):
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
and | 与运算 | True and False | False |
or | 或运算 | True or False | True |
not | 非运算 | not True | False |
== | 等于 | x == y | False |
!= | 不等于 | x != y | True |
< | 小于 | x < y | True |
> | 大于 | x > y | False |
<= | 小于等于 | x <= y | True |
>= | 大于等于 | x >= y | False |
在python中我们可以通过一下代码来试下逻辑运算:
# 比较运算符示例
x = 1
y = 2# 逻辑与(and)
result_and = True and False # 结果为 False# 逻辑或(or)
result_or = True or False # 结果为 True# 逻辑非(not)
result_not = not True # 结果为 False# 等于:x是否等于y
result_equal = x == y # 结果为 False# 不等于:x是否不等于y
result_not_equal = x != y # 结果为 True# 小于:x是否小于y
result_less_than = x < y # 结果为 True# 大于:x是否大于y
result_greater_than = x > y # 结果为 False# 小于等于:x是否小于等于y
result_less_equal = x <= y # 结果为 True# 大于等于:x是否大于等于y
result_greater_equal = x >= y # 结果为 False
控制流程语句
对于新手小白来说熟练知道python控制流程语句包括条件语句(if语句)和循环结构(for循环和while循环),就够用了
条件语句(if语句)
条件语句用于根据不同的条件选择性地执行不同的代码块。最常见的条件语句是if语句,它用于判断一个条件是否为真,然后执行相应的代码。
以下是一个简单的if控制条件:
其对应的代码示例:
# 定义年龄变量
age = 18# 判断年龄是否大于等于18
if age >= 18:# 输出成年了print("成年了")
else:# 不满足if进入else输出未成年print("未成年")
循环结构(for循环、while循环)
- for循环
for循环用于遍历一个序列(如列表、字符串等)中的元素,并执行相应的操作。
# for循环 列表示例
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:print(fruit)
以上代码运行结果:
# for循环 字符串示例
fruit = 'apple'
for i in fruit:print(i)
以上代码运行结果:
也可以结合range()函数来进行数字的迭代:
# 使用range()的for循环
for i in range(5):# 这里会输出0,1,2,3,4print(i)
以上代码运行结果:
- while循环
while循环会重复执行一段代码,直到指定的条件不再满足。
# while循环示例
count = 0
while count < 5:print(count)count += 1
以上代码运行结果:
continue、break和pass关键字
- continue关键字用法
continue关键字跳过当前循环的剩余语句,进行下一轮循环
[‘apple’, ‘banana’, ‘orange’],这里面我不喜欢吃banana,所以我要跳过banana,通过continue关键字就可以实现,代码示例:
# for循环 continue示例
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:if fruit == 'banana':#如果fruit等于banana就跳过continueprint(fruit)
以上代码运行结果:
- break关键字用法
break关键字用来终止循环语句,强制停止当前的循环结构。
[‘apple’, ‘banana’, ‘orange’],这里面我非常讨厌banana,遇到banana,后面的全部都不想要啦!可以通过break关键字来实现,代码示例:
# for循环 break示例
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:if fruit == 'banana':#如果fruit等于banana就结束breakprint(fruit)
以上代码运行结果:
- pass关键字用法
充当代码块的占位符,如果还没想好怎么处理banana,我们就可以先放个占位符,代码示例:
# for循环 pass示例
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:if fruit == 'banana':# 如果fruit等于banana就啥也不干passprint(fruit)
以上代码运行结果:
小伙伴想问,如果不放pass会怎么样,会语法错误!因为 : 后面表示新的下一级代码块,必须要有点东西,这个时候就可以用pass占位置啦。
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:if fruit == 'banana':print(fruit)
控制流程语句的嵌套以及elif
这里我们有一个需求,18岁以上输出成年,18岁以下输出未成年,3岁以下输出小屁孩。
- 方案一:嵌套控制
我们可以将需求理解成一下流程图:
其对应的代码示例:
# 定义年龄变量
age = 2# 判断年龄是否大于等于18
if age >= 18:# 输出成年了print("成年了")
else:# 不满足if进入else输出未成年if age <= 3:print("小屁孩")else:print("未成年")
其代码运行结果就是:小屁孩
- 方案二:引入elif概念
elif的作用是当if语句的条件为假时,检查下一个条件是否为真,如果为真则执行相应的代码块,否则继续检查下一个条件或执行else块中的代码(如果有的话)。
根据上面需求,示例代码:
# 定义年龄变量
age = 2# 判断年龄是否大于等于18
if age >= 18:# 输出成年了print("成年了")
elif age <= 3:print("小屁孩")
else:print("未成年")
在代码示例中:
- 如果年龄大于等于18,会输出:“成年了”
- 如果年龄小于等于3,会输出:“小屁孩”
- 如果年龄既不大于等于18,也不小于等于3,会输出:“未成年”
其代码运行结果就是:小屁孩
相关文章:

【0基础入门Python笔记】二、python 之逻辑运算和制流程语句
二、python 之逻辑运算和制流程语句 逻辑运算控制流程语句条件语句(if语句)循环结构(for循环、while循环)continue、break和pass关键字控制流程语句的嵌套以及elif 逻辑运算 Python提供基本的逻辑运算:不仅包括布尔运…...
python中的svm:介绍和基本使用方法
python中的svm:介绍和基本使用方法 支持向量机(Support Vector Machine,简称SVM)是一种常用的分类算法,可以用于解决分类和回归问题。SVM通过构建一个超平面,将不同类别的数据分隔开,使得正负样…...

typedef
t y p e d e f typedef typedef 声明,简称typedef,是创建现有类型的新名字。 比如: #include <bits/stdc.h> using namespace std; typedef long long ll; int main() {ll n;scanf("%lld",&n);printf("%lld"…...

校园跑腿市场行情分析
随着社会的发展和人们生活节奏的加快,校园跑腿市场逐渐兴起并呈现出蓬勃发展的态势。在这个快节奏的时代,越来越多的学生需要在繁忙的学业之外完成各种任务,而校园跑腿服务正是应运而生,为他们提供了便利和时效。本文将从需求方面…...

微服务相关面试题
👏作者简介:大家好,我是爱写博客的嗯哼,爱好Java的小菜坤 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦 📝社区论坛:希望大家能加入社区共同进步…...
前端-ES6
let 和 const 为了解决var的作用域的问题,而且var 有变量提升,会出现全局污染的问题 let 块状作用域,并且不能重复声明const 一般用于声明常量,一旦被声明无法修改,但是const 可以声明一个对象,对象内部的…...

169. 多数元素(摩尔投票法) 题解
题目描述:169. 多数元素 - 力扣(LeetCode) 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示…...
python中的cnn:介绍和基本使用方法
python中的cnn:介绍和基本使用方法 卷积神经网络(Convolutional Neural Networks,简称CNN)是一种在图像识别、语音识别、自然语言处理等许多领域取得显著成功的深度学习模型。CNN的设计灵感来源于生物的视觉系统,由多…...

Dockerfile概念、镜像原理、制作及案例讲解
1.Docker镜像原理 Linux文件操作系统讲解 2.镜像如何制作 3.Dockerfile概念 Docker网址:https://hub.docker.com 3.1 Dockerfile关键字 4.案例...

07-微信小程序-注册页面-模块化
07-微信小程序-注册页面 文章目录 注册页面使用 Page 构造器注册页面参数Object初始数据案例代码 生命周期回调函数组件事件处理函数setData()案例代码 生命周期模块化 注册页面 对于小程序中的每个页面,都需要在页面对应的 js 文件中进行注册,指定页面…...

考研算法第46天: 字符串转换整数 【字符串,模拟】
题目前置知识 c中的string判空 string Count; Count.empty(); //正确 Count ! null; //错误c中最大最小宏 #include <limits.h>INT_MAX INT_MIN 字符串使用发运算将字符加到字符串末尾 string Count; string str "liuda"; Count str[i]; 题目概况 AC代码…...
Cesium for unity 1.5.0使用注意事项
Cesium for Unity Quickstart – Cesium 1.Unity版本仅支持Unity2021.3.2f1以后版 2.仅支持 3D (URP)和3D (HDRP)渲染管线 3.如果Package Manager中不出现My Registries选项,请在 Edit > Project Settings...>Package Manager中重命名或删除重新添加Packag…...

初阶C语言-结构体
🌞 “少年有梦不至于心动,更要付诸行动。” 今天我们一起学习一下结构体的相关内容! 结构体 🎈1.结构体的声明1.1结构的基础知识1.2结构的声明1.3结构成员的类型1.4结构体变量的定义和初始化 🎈2.结构体成员的访问2.1结…...

Android Studio实现解析HTML获取图片URL,将URL存到list,进行瀑布流展示
目录 效果展示build.gradle(app)添加的依赖(用不上的可以不加)AndroidManifest.xml错误代码activity_main.xmlitem_image.xmlMainActivityImage适配器ImageModel 接收图片URL效果展示 build.gradle(app)添加的依赖(用不上的可以不加) dependencies {implementation co…...

java学习004
常用数据结构对应 php中常用的数据结构是Array数组,相对的在java开发中常用的数据结构是ArrayList和HashMap,它们可以看成是array的拆分,一种简单的对应关系为 PHPJAVAArray: array(1,2,3)ArrayListlArray: array(“name” > “jack”,“…...

Linux网络编程:网络基础
文章目录: 1.协议 2.锁 3.网络层次模型 4.以太网帧和ARP协议 5.IP协议 6.UDP协议 7.TCP协议 8.BS模式和CS模式 9.网络套接字(socket) 10.网络字节序 11.IP地址转换函数 12.sockaddr地址结构 学习Linux的网络编程原则上基于:Linux的系统编程…...

3D沉浸式旅游网站开发案例复盘【Three.js】
Plongez dans Lyon网站终于上线了。 我们与 Danka 团队和 Nico Icecream 共同努力,打造了一个令我们特别自豪的流畅的沉浸式网站。 这个网站是专为 ONLYON Tourism 和会议而建,旨在展示里昂最具标志性的活动场所。观看简短的介绍视频后,用户…...

IO的几个模型
I/O模型名词介绍 说到I/O模型,都会牵扯到同步、异步、阻塞、非阻塞这几个词,以下讲解这几个词的概念。 阻塞和非阻塞 阻塞和非阻塞指的是一直等还是可以去做其他事。 阻塞(blocking):调用结果返回之前,…...

中路对线发现正在攻防演练中投毒的红队大佬
背景 2023年8月14日晚,墨菲安全实验室发布《首起针对国内金融企业的开源组件投毒攻击事件》NPM投毒事件分析文章,紧接着我们在8月17日监控到一个新的npm投毒组件包 hreport-preview,该投毒组件用来下载木马文件的域名地址竟然是 img.murphys…...

【LINUX相关】生成随机数(srand、/dev/random 和 /dev/urandom )
目录 一、问题背景二、修改方法2.1 修改种子2.2 使用linux中的 /dev/urandom 生成随机数 三、/dev/random 和 /dev/urandom 的原理3.1 参考连接3.2 重难点总结3.2.1 生成随机数的原理3.2.2 随机数生成器的结构3.2.3 二者的区别和选择 四、在代码的使用方法 一、问题背景 在一个…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...