第四章 Python运算符与流程控制

news2024/11/28 4:35:57

系列文章目录
第一章 Python 基础知识
第二章 python 字符串处理
第三章 python 数据类型
第四章 python 运算符与流程控制
第五章 python 文件操作
第六章 python 函数
第七章 python 常用内建函数
第八章 python 类(面向对象编程)
第九章 python 异常处理
第十章 python 自定义模块及导入方法
第十一章 python 常用标准库
第十二章 python 正则表达式
第十三章 python 操作数据库


文章目录

  • 操作符有什么用?
  • 比较操作符与逻辑操作符
    • 比较操作符
    • 逻辑操作符
  • 成员操作符与身份操作符
    • 成员操作符
    • 身份操作符
  • 条件判断
    • 单分支
    • 多分支
  • 循环
    • 循环
    • for语句
    • while语句
  • range内建函数
  • continue与break语句
  • 案例:用户登录、三次错误机会
  • 总结


操作符有什么用?

操作符:一个特定的符号,用它与其他数据类型连接起来组成一个表达式。常用于条件判断,根据表达式返回True/False采取动作。
在这里插入图片描述

比较操作符与逻辑操作符

比较操作符

比较操作符:比较两边值

操作符描述示例
==相等,两边值是否相等(6==6)结果True
!=不相等,两边值是否不相等(6!=6)结果False
>大于,左边值是否大于右边值(8>6)结果True
<小于,左边值是否小于右边值(8<6)结果False
>=大于等于,左边值是否大于等于右边值(6>=6)结果True
<=小于等于,左边值是否小于等于右边值(6<=6)结果True
# 操作符
n1 = 6
n2 = 6

print("等于:",n1==n2)
print("不等于:",n1!=n2)
print("大于:",n1>n2)
print("小于:",n1<n2)
print("大于等于:",n1>=n2)
print("小于等于:",n1<=n2)

在这里插入图片描述

逻辑操作符

逻辑操作符:判断条件逻辑

操作符逻辑表达式描述
andx and y与,所有的条件都 True结果才为True;只要有一个为False,结果就为False
orx or y或,所有的条件只要有一个是True结果就为True
notnot x非,结果取反
# 逻辑操作符
n1 = 4
n2 = 5
n3 = 6
print(1,n1 < n2)
print(2,n2 < n3)
# 都为真才为真
print(3,n1 < n2 and n2 < n3)
print(4,n1 < n2 and n2 > n3)
# 只要有一个为真就是真,都是假才为假的
print(5,n1 < n2 or n2 > n3)
# 非,结果取反
print(6,not 1 < n2 or n2 > n3)

在这里插入图片描述

成员操作符与身份操作符

成员操作符

成员操作符:判断某个元素是否在数据类型里

操作符描述示例
in如果在指定的序列中找到值返回 True,否则返回Falsecomputer = [“主机”,“显示器”,“鼠标”,“键盘”]
(“主机” in computer) 结果True
(“音响” in computer) 结果False
not in如果在指定的序列中没有找到值 返回True,否则返回Falseprint(“主机” not in computer) 结果False
print(“音响” not in computer) 结果True
# 成员操作符
computer = ["主机","显示器","鼠标","键盘"]
print('------------in------------')
print("主机" in computer)
print("音响" in computer) 
if '主机' in computer:
    print("在里边")
else:
    print('不在里边')
print('------------not in------------')
print("主机" not in computer)
print("音响" not in computer) 
if '主机' not in computer:
    print("在里边")
else:
    print('不在里边')

在这里插入图片描述

身份操作符

身份操作符:判断两个对象是否相等

操作符描述
is判断两个标识符是否引用一个对象
not is判断两个标识符是否引用不同对象
# 身份操作符
a = []
b = []
print(id(a))
print(id(b))
print(a==b)
print(a is b)
print(not a is b)

在这里插入图片描述

条件判断

在这里插入图片描述

语法:
if <表达式>:
<代码块>
elif <表达式>:
<代码块>
else:
<代码块>

单分支

示例:判断是否成年
age = int(input("请输入你的年龄: "))
if age > 18:
print(“恭喜,你已经成年!”)
else:
print(“抱歉,你还未成年!”)

简写,也成三目表达式: “恭喜,你已经成年!” if age > 18 else “抱歉,你还未成年!”

# 条件判断,单分支判断
age = int(input('你多大了:'))
if age >= 18:
    print("你成年了,可以谈恋爱了")
else:
    print("你还未成年,不能谈恋爱")
print('=====================================')
#使用一条命令表达出来
result="你成年了,可以谈恋爱了" if age >= 18 else "你还未成年,不能谈恋爱"
print(result)

在这里插入图片描述

多分支

示例:根据人的年龄段划分
age = int(input("请输入你的年龄: "))
if age < 7 :
print(“儿童”)
elif age >= 7 and age < 17:
print(“少年”)
elif age >= 18 and age < 40:
print(“青年”)
elif age >= 41 and age < 48:
print(“壮年”)
else:
print(“老年”)

# 条件判断,多分支判断
age = int(input("请输入你的年龄:"))
if age < 7:
    print("儿童")
elif age > 7 and age < 17:
    print("少年")
elif age >= 18 and age < 41:
    print("青年")
elif age >= 41 and age < 48:
    print("壮年")
else:
    print("老年")

在这里插入图片描述

循环

循环

在了解编程中的“循环”之前,先试想下这个场景: 在阳台种花,准备种4颗种子,开始逐个挖坑,放一颗种子
在这里插入图片描述
每一颗种子操作都是相同的,如果我们用一步将6颗 种子重复种下的行为表示出来呢?
for n in range(1,5):
print(“开始种花第%s次” %n)

循环的作用在于将一段代码重复执行多次。
Python中实现循环常用有两个语句:for、while

# 循环 for
print("第一种方法")
lst = [1,2,3,4]
for i in lst:
    print("正在种第%s个种子"%i)
print("第二种方法")
for i in range(1,5):
    print("正在种第%s个种子"%i)

在这里插入图片描述

for语句

在这里插入图片描述

for语句:一般用于遍历数据类型的元素进行处理,例如字符串、列表
语法: for <变量> in <序列>:
<代码块>

# 循环 for
computer = {"主机":5000,"显示器":1000,"鼠标":60,"键盘":150}
print(computer.items())
for i in computer.items():
    print(f"名称:{i[0]},价格:{i[1]}")
# 多重赋值
print('======================')
# k,v = (主机,5000)
for k,y in computer.items():
    print(f"名称:{k},价格:{y}")

在这里插入图片描述

print("实例1:遍历字符串")
s = "123456"
for i in s:
    print(i)
print("实例2:遍历列表")
computer = ["主机","显示器","鼠标","键盘"]
for i in computer:
    print(i,len(i))
print("实例3:遍历字典")
computer = {"主机":5000,"显示器":1000,"鼠标":60,"键盘":150}
for i in computer.items():
    print("名称: %s\t价格: %s" % (i[0],i[1]))
print("实例4:嵌套循环")
a = [1,2,3,4,5,6]
b = [4,5,6,7,8,9]
for i in a:
    for x in b:
        if i == x:
            print(x)

在这里插入图片描述

while语句

在这里插入图片描述

while语句:在某条件下循环执行一段代码,即重复相同的任务。
语法:
while <表达式>:
<代码块>

# while语句
print("满足条件时停止循环")
n = 0
while n <= 5:
    print(n)
    n = n+1
print("死循环,每三秒一次")
import time
count = 0
while True:
    print(count)
    count += 1
    time.sleep(3)

在这里插入图片描述

range内建函数

range()内建函数:动态生成数字序列,例如range(1,6),结果类似列表[1,2,3,4,5,6]
示例:生成0-4序列
for i in range(5):
print(i)

  • 应用场景
  • 1.可以用它指定循环次数
  • 2.生成序列,保存到一个列表
# range内建函数
lit = []
for i in range(1,10):
    lit.append(i)
print(lit)

在这里插入图片描述

continue与break语句

• continue 当满足条件时,跳出本次循环
• break 当满足条件时,跳出所有循环
注:只有在for、while循环语句中才有效。

print("=====满足条件跳出本次循环")
for i in range(1,10):
    if i == 5:
        print("循环到5了,我做一件事")
        continue
    else:
        print(i)
print("=====满足条件跳出所有循环")
for i in range(1,10):
    if i == 5:
        print("循环到5了,我退出了")
        break
    else:
        print(i)

在这里插入图片描述

n = 0
while n <= 5:
    print(n)
    n = n+1
print('=====')
n = 0
while n <= 5:
    print(n)
    n = n+1
    if n == 4:
        break

在这里插入图片描述

案例:用户登录、三次错误机会

count = 0
while True:
    if count < 3:
        name = input("请输入你的用户名:").strip()  # strip去除首尾空格
        if name == "wang":
            print("登录成功")
            break
        elif 0 == len(name):
            print("请不要输入空格")
            # count += 1
        else:
            print("用户名错误,重新输入")
            # count += 1
    else:
        print("错误三次了")
        break
    count += 1
count = 0
while True:
    if count < 3:
        name = input("请输入你的用户名:").strip()  # strip去除首尾空格
        if name == "wang":
            print("登录成功")
            break
        elif 0 == len(name):
            print("请不要输入空格")
            count += 1
        else:
            print("用户名错误,重新输入")
            count += 1
    else:
        print("错误三次了")
        break
    # count += 1


总结

以上就是今天学习的内容,本文学习了循环以及操作符。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity之UI编程】如何用UGUI搭建一个登录注册面板

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;UI_…

数据可视化:折线图

1.初看效果 &#xff08;1&#xff09;效果一 &#xff08;2&#xff09;数据来源 2.JSON数据格式 其实JSON数据在JAVA后期的学习过程中我已经是很了解了&#xff0c;基本上后端服务器和前端交互数据大多是采用JSON字符串的形式 &#xff08;1&#xff09;JSON的作用 &#…

【软件逆向】如何逆向Unity3D+il2cpp开发的安卓app【IDA Pro+il2CppDumper+DnSpy+AndroidKiller】

教程背景 课程作业要求使用反编译技术&#xff0c;在游戏中实现无碰撞。正常情况下碰撞后角色死亡&#xff0c;修改为直接穿过物体不死亡。 需要准备的软件 il2CppDumper。DnSpy。IDA Pro。AndroidKiller。 一、使用il2CppDumper导出程序集 将{my_game}.apk后缀修改为{my_…

AD9371 官方例程 NO-OS 主函数 headless 梳理

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 &#xff1a; AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射&#xff1a; AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 &#xff1a; AD9371 官方…

SpringCloudAlibaba - 项目完整搭建(Nacos + OpenFeign + Getway + Sentinel)

目录 一、SpringCloudAlibaba 项目完整搭建 1.1、初始化项目 1.1.1、创建工程 1.1.2、配置父工程的 pom.xml 1.1.3、创建子模块 1.2、user 微服务 1.2.1、配置 pom.xml 1.2.2、创建 application.yml 配置文件 1.2.3、创建启动类 1.2.4、测试 1.3、product 微服务 1…

LIME低亮度图像增强

LIME低亮度图像增强 main.cpp #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> #include <opencv2/imgproc/imgproc.hpp> #include "lime.h"int main() {cv::Mat img_in cv::imread("…

Hello AIGC类杂志实验

shadow 类杂志是我们从6月开始孵化的一个小型内容产品。目前还在不断迭代升级中~~ 今天和大家聊聊心得体会&#xff1a; 从2023-06-12发布第一期以来&#xff0c;我和小杜一起打磨了前面几期&#xff0c;逐步找到稳定的内容表达方式后&#xff0c;由小杜独立负责此类杂志的更新…

c语言从入门到实战——函数递归

函数递归 前言1. 递归是什么&#xff1f;2. 递归的限制条件3. 递归举例3.1 举例1&#xff1a;求n的阶乘3.1.1 分析和代码实现3.1.2 画图推演 3.2 举例2&#xff1a;3.2.1 分析和代码实现3.2.2 画图推演 4. 递归与迭代 前言 函数递归是指一个函数直接或间接地调用自身&#xff…

13 Linux 蜂鸣器

一、蜂鸣器驱动原理 常用蜂鸣器分两种&#xff0c;有源蜂鸣器和无源蜂鸣器。 它们俩的区别&#xff1a;有源蜂鸣器具有内置的振荡器和驱动电路&#xff0c;无源蜂鸣器没有&#xff1b;源蜂鸣器只需简单的数字信号来控制&#xff0c;无源蜂鸣器需要外部电路或微控制器来提供特定…

Spring和SpringMVC总结

一、Spring IoC(Inversion of Control)中文名称&#xff1a;控制反转&#xff08;对象的创建交给Spring管理&#xff09;。DI(dependency injection )依赖注入。容器&#xff08;Container&#xff09;&#xff1a;放置所有被管理的对象。beans&#xff1a;容器中所有被管理的对…

Rust编程基础核心之所有权(下)

1.变量与数据交互方式之二: 克隆 在上一节中, 我们讨论了变量与数据交互的第一种方式: 移动, 本节将介绍第二种方式:克隆。 如果我们 确实 需要深度复制 String 中堆上的数据&#xff0c;而不仅仅是栈上的数据&#xff0c;可以使用一个叫做 clone 的通用函数。 看下面的代码…

国产数据库人大金仓Kingbase数据迁移工具

点击上方蓝字关注我 在做国产数据库适配过程中经常需要将现有数据库的数据迁移至国产数据库中&#xff0c;在适配在人大金仓Kingbase数据库时&#xff0c;可以使用KDTS进行数据迁移。 1. 支持迁移的数据库及对象 2. 迁移工具安装 地址&#xff1a;https://www.kingbase.com.c…

多输入多输出 | Matlab实现WOA-RBF鲸鱼算法优化径向基神经网络多输入多输出预测

多输入多输出 | Matlab实现WOA-RBF鲸鱼算法优化径向基神经网络多输入多输出预测 目录 多输入多输出 | Matlab实现WOA-RBF鲸鱼算法优化径向基神经网络多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现WOA-RBF鲸鱼算法优化径向基神经网络…

农业水土环境与面源污染建模及对农业措施响应

目录 ​专题一 农业水土环境建模概述 专题二 ArcGIS入门 专题三 农业水土环境建模流程 专题四 DEM数据制备流程 专题五 土地利用数据制备流程 专题六 土壤数据制备流程 专题七 气象数据制备流程 专题八 农业措施数据制备流程 专题九 参数率定与结果验证 专题十 模型结…

【Python语言】比较四个数或多个数的大小

重点&#xff1a;sorted()函数可以对列表进行升序排序 思路&#xff1a;利用Python语言中的列表排序函数简单粗暴的解决比较大小问题 a int(input("请输入第一个数&#xff1a;")) b int(input("请输入第二个数&#xff1a;")) c int(input("请输…

反射型跨站点脚本攻击

测试过程: /ylpj/dwr/interface/%20idxIndexDicService/%22%3E%3Cscript%3Ealert(988)%3C/script%3E 解决方案: nginx添加 if ($args ~* "%3Cscript%3E") {return 400;}if ($request_uri ~* "%3Cscript%3E") {return 400; } 解决效果:

Java操作redis常见类型数据存储

目录 一、Java连接Redis 1.1 导入pom依赖 1.2 建立连接 二、Java使用Redis 2.1 字符串 String 2.2 哈希 Hash 2.3 列表 List 2.4 集合 Set 2.4 有序集合 Sorted Set 一、Java连接Redis redis与mysq都是数据库&#xff0c;java操作redis其实跟操作mysql的过程是差不多的…

C++性能优化笔记-6-C++元素的效率差异-7-类型转换

C元素的效率差异 类型转换signed与unsigned转换整数大小转换浮点精度转换整数到浮点转换浮点到整数转换指针类型转换重新解释对象的类型const_caststatic_castreinterpret_castdynamic_cast转换类对象 类型转换 在C语法中&#xff0c;有几种方式进行类型转换&#xff1a; // …

【每日一题】重复的DNA序列

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;哈希表方法二&#xff1a;哈希表滑动窗口位运算 写在最后 Tag 【哈希表】【位运算滑动窗口哈希表】【字符串】【2023-11-05】 题目来源 187. 重复的DNA序列 题目解读 找出字符串中重复出现的字符串。 解题思路 方法…

Android Gldie复用只取之前decode过的缓存resource,Kotlin

Android Gldie复用只取之前decode过的缓存resource&#xff0c;Kotlin import android.graphics.Bitmap import android.os.Bundle import android.util.Log import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.life…