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

【0基础入门Python笔记】二、python 之逻辑运算和制流程语句

二、python 之逻辑运算和制流程语句

    • 逻辑运算
    • 控制流程语句
      • 条件语句(if语句)
      • 循环结构(for循环、while循环)
      • continue、break和pass关键字
      • 控制流程语句的嵌套以及elif

逻辑运算

Python提供基本的逻辑运算:不仅包括布尔运算(and、or、not),还包括比较运算符(==、!=、<、>、<=、>=),用于比较两个值之间的关系。这些运算符用于判断表达式是否为真或为假,从而进行条件判断。

逻辑运算规则如下表所示(其中x=1,y=2):

运算符描述示例结果
and与运算True and FalseFalse
or或运算True or FalseTrue
not非运算not TrueFalse
==等于x == yFalse
!=不等于x != yTrue
<小于x < yTrue
>大于x > yFalse
<=小于等于x <= yTrue
>=大于等于x >= yFalse

在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("未成年")

在代码示例中:

  1. 如果年龄大于等于18,会输出:“成年了”
  2. 如果年龄小于等于3,会输出:“小屁孩”
  3. 如果年龄既不大于等于18,也不小于等于3,会输出:“未成年”

其代码运行结果就是:小屁孩

相关文章:

【0基础入门Python笔记】二、python 之逻辑运算和制流程语句

二、python 之逻辑运算和制流程语句 逻辑运算控制流程语句条件语句&#xff08;if语句&#xff09;循环结构&#xff08;for循环、while循环&#xff09;continue、break和pass关键字控制流程语句的嵌套以及elif 逻辑运算 Python提供基本的逻辑运算&#xff1a;不仅包括布尔运…...

python中的svm:介绍和基本使用方法

python中的svm&#xff1a;介绍和基本使用方法 支持向量机&#xff08;Support Vector Machine&#xff0c;简称SVM&#xff09;是一种常用的分类算法&#xff0c;可以用于解决分类和回归问题。SVM通过构建一个超平面&#xff0c;将不同类别的数据分隔开&#xff0c;使得正负样…...

typedef

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

校园跑腿市场行情分析

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

微服务相关面试题

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱写博客的嗯哼&#xff0c;爱好Java的小菜坤 &#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&#x1f44d;一下博主哦 &#x1f4dd;社区论坛&#xff1a;希望大家能加入社区共同进步…...

前端-ES6

let 和 const 为了解决var的作用域的问题&#xff0c;而且var 有变量提升&#xff0c;会出现全局污染的问题 let 块状作用域&#xff0c;并且不能重复声明const 一般用于声明常量&#xff0c;一旦被声明无法修改&#xff0c;但是const 可以声明一个对象&#xff0c;对象内部的…...

169. 多数元素(摩尔投票法) 题解

题目描述&#xff1a;169. 多数元素 - 力扣&#xff08;LeetCode&#xff09; 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示…...

python中的cnn:介绍和基本使用方法

python中的cnn&#xff1a;介绍和基本使用方法 卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff09;是一种在图像识别、语音识别、自然语言处理等许多领域取得显著成功的深度学习模型。CNN的设计灵感来源于生物的视觉系统&#xff0c;由多…...

Dockerfile概念、镜像原理、制作及案例讲解

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

07-微信小程序-注册页面-模块化

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

考研算法第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选项&#xff0c;请在 Edit > Project Settings...>Package Manager中重命名或删除重新添加Packag…...

初阶C语言-结构体

&#x1f31e; “少年有梦不至于心动&#xff0c;更要付诸行动。” 今天我们一起学习一下结构体的相关内容&#xff01; 结构体 &#x1f388;1.结构体的声明1.1结构的基础知识1.2结构的声明1.3结构成员的类型1.4结构体变量的定义和初始化 &#x1f388;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数组&#xff0c;相对的在java开发中常用的数据结构是ArrayList和HashMap&#xff0c;它们可以看成是array的拆分&#xff0c;一种简单的对应关系为 PHPJAVAArray: array(1,2,3)ArrayListlArray: array(“name” > “jack”,“…...

Linux网络编程:网络基础

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

3D沉浸式旅游网站开发案例复盘【Three.js】

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

IO的几个模型

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

中路对线发现正在攻防演练中投毒的红队大佬

背景 2023年8月14日晚&#xff0c;墨菲安全实验室发布《首起针对国内金融企业的开源组件投毒攻击事件》NPM投毒事件分析文章&#xff0c;紧接着我们在8月17日监控到一个新的npm投毒组件包 hreport-preview&#xff0c;该投毒组件用来下载木马文件的域名地址竟然是 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 二者的区别和选择 四、在代码的使用方法 一、问题背景 在一个…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

flow_controllers

关键点&#xff1a; 流控制器类型&#xff1a; 同步&#xff08;Sync&#xff09;&#xff1a;发布操作会阻塞&#xff0c;直到数据被确认发送。异步&#xff08;Async&#xff09;&#xff1a;发布操作非阻塞&#xff0c;数据发送由后台线程处理。纯同步&#xff08;PureSync…...

Linux基础开发工具——vim工具

文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...

GAN模式奔溃的探讨论文综述(一)

简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...