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

Python流程控制语句-条件判断语句练习及应用详解

文章目录

    • 简介
    • 条件判断语句(if语句)
      • 练习1:判断奇偶数
      • 练习2:判断闰年
      • 练习3:计算狗的年龄相当于人的年龄
      • 练习4:根据成绩奖励
      • 练习5:选择婚姻对象
    • 小结
  • python 学习专栏推荐
    • python基础知识(0基础入门)
    • python爬虫知识

简介

Python代码在执行时是按照自上向下顺序执行的。通过流程控制语句,可以改变程序的执行顺序,也可以让指定的程序反复执行多次。流程控制语句分成两大类:条件判断语句,循环语句。本节我们先来将条件判断语句。

条件判断语句(if语句)

if语句是Python中非常重要的流程控制语句之一,其基本语法如下:

if 条件表达式:代码块

在执行if语句时,会先对条件表达式进行求值判断,如果为True,则执行if后的代码块,否则跳过代码块不执行。需要注意的是,Python中的代码块是通过缩进来实现的,缩进必须使用相同个数的空格或者Tab键,而且应该始终使用同一种方式。

例如,当我们输入以下代码:

num = 10
if num > 10:print("num比10大")
print("程序已结束")

此时打印结果为"程序已结束",因为num的值为10,不满足if语句中的条件表达式,所以不会执行if后面的代码块。

另外,需要了解的是,在if语句中我们可以使用逻辑运算符and和or来连接多个条件表达式,分别表示所有条件同时满足和只要有一个条件满足即可,例如:

num = 15
if num > 10 and num < 20:print("num比10大,num比20小")

在上面这段代码中,只有当num的值既大于10又小于20时,才会执行print函数中的内容。

最后,if语句也可以用来实现根据不同的条件输出不同的内容,例如:

name = input("请输入用户名:")
if name == "admin":print("欢迎管理员光临")

在上面这段代码中,如果用户输入的用户名为"admin",那么会输出"欢迎管理员光临",否则什么也不执行。

练习1:判断奇偶数

编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。

参考代码:

num = int(input("请输入一个整数:"))if num % 2 == 0:print("这个数是偶数")
else:print("这个数是奇数")

练习2:判断闰年

编写一个程序,检查任意一个年份是否是闰年。如果一个年份可以被4整除不能被100整除,或者可以被400整除,这个年份就是闰年。

参考代码:

year = int(input("请输入一个年份:"))if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:print("这是闰年")
else:print("这不是闰年")

练习3:计算狗的年龄相当于人的年龄

我家的狗5岁了,5岁的狗相当于多大年龄的人呢?
其实非常简单,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁。
那么5岁的狗相等于人类的年龄就应该是10.5+10.5+4+4+4 = 33岁

参考代码:

dog_age = int(input("请输入狗的年龄:"))if dog_age < 0:print("年龄不能为负数")
elif dog_age <= 2:human_age = dog_age * 10.5
else:human_age = 21 + (dog_age - 2) * 4print("狗的年龄相当于人的年龄为:", human_age)

练习4:根据成绩奖励

从键盘输入小明的期末成绩:
当成绩为100时,‘奖励一辆BMW’
当成绩为[80-99]时,‘奖励一台iphone’
当成绩为[60-79]时,‘奖励一本参考书’
其他时,什么奖励也没有

参考代码:

score = int(input("请输入小明的期末成绩:"))if score == 100:print("奖励一辆BMW")
elif 80 <= score <= 99:print("奖励一台iphone")
elif 60 <= score <= 79:print("奖励一本参考书")
else:print("什么奖励也没有")

练习5:选择婚姻对象

大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:
高:180cm以上; 富:1000万以上; 帅:500以上;
如果这三个条件同时满足,则:‘我一定要嫁给他’
如果三个条件有为真的情况,则:‘嫁吧,比上不足,比下有余。’
如果三个条件都不满足,则:‘不嫁!’

参考代码:

height = int(input("请输入男方的身高(cm):"))
wealth = int(input("请输入男方的财富(万元):"))
handsome = int(input("请输入男方的颜值(0-100):"))if height >= 180 and wealth >= 1000 and handsome >= 500:print("我一定要嫁给他")
elif height >= 180 or wealth >= 1000 or handsome >= 500:print("嫁吧,比上不足,比下有余。")
else:print("不嫁!")

小结

if语句是Python中用于控制程序流程的重要语句。它的一般形式如下:

if 条件表达式:代码块

if语句的执行过程如下:

  1. 首先对条件表达式进行求值判断,如果结果为True,则执行if后面的代码块;如果结果为False,则跳过代码块,继续执行后面的语句。
  2. 代码块是一组通过缩进来区分的语句,它们应该具有相同的缩进级别,通常使用四个空格或一个制表符作为缩进。
  3. 代码块中的语句会按顺序依次执行,只要满足条件,就会执行所有代码块中的语句;如果条件不满足,代码块中的语句将被跳过。

if语句还可以扩展为if-else语句或if-elif-else语句,用于处理多个条件情况。其语法如下:

  • if-else语句:
if 条件表达式:代码块1
else:代码块2

如果条件表达式为True,则执行代码块1;否则,执行代码块2。

  • if-elif-else语句:
if 条件表达式1:代码块1
elif 条件表达式2:代码块2
...
else:代码块n

依次判断条件表达式1、条件表达式2,直到找到第一个为True的条件,执行相应的代码块。如果所有条件都为False,则执行最后的else代码块。

在if语句中,我们还可以使用逻辑运算符and和or来组合多个条件表达式。and表示所有条件必须同时满足,or表示只要有一个条件满足即可。

总结起来,if语句是用于根据条件选择性地执行特定的代码块。它是控制程序流程的重要工具,能够使程序根据不同的情况做出相应的响应。


python 学习专栏推荐

python基础知识(0基础入门)

【python基础知识】0.print()函数
【python基础知识】1.数据类型、数据应用、数据转换
【python基础知识】2.if条件判断与条件嵌套
【python基础知识】3.input()函数
【python基础知识】4.列表和字典
【python基础知识】5.for循环和while循环
【python基础知识】6.布尔值和四种语句(break、continue、pass、else)
【python基础知识】7.实操-用Python实现“文字PK”小游戏(一)
【python基础知识】7.实操-用Python实现“文字PK”小游戏(二)
【python基础知识】8.编程思维:如何解决问题-思维篇
【python基础知识】9.函数的定义和调用
【python基础知识】10.用函数编写程序 - 实操篇
【python基础知识】10.用Python实现石头剪刀布小游戏-函数实操篇
【python基础知识】11.如何debug -常见报错原因及排查思路 - 思维篇
【python基础知识】12.类与对象(一)
【python基础知识】12.类与对象(二)
【python基础知识】13.类与对象(三)
【python基础知识】13.类与对象(四)
【python基础知识】14.图书管理系统的搭建(类与对象实操)
【python基础知识】15.编码基础知识
【python基础知识】16.文件读写基础及操作
【python基础知识】16.“古诗默写题”的python实现(文件读写和编码-实操篇)
【python基础知识】17.模块的概念以及如何引入
【python基础知识】18.实操-使用python自动群发邮件
【python基础知识】19.产品思维以及流程图的使用 - 思维篇
【python基础知识】20.“午饭吃什么”的python实现(产品思维-实操篇)
【python基础知识】21.高效偷懒的正确打开方式-毕业篇
【python文件处理】CSV文件的读取、处理、写入
【python文件处理】Excel自动处理(使用 openpyxl)
【python文件处理】-excel格式处理


python爬虫知识

【python爬虫】1.爬虫基础知识
【python爬虫】2.网页基础知识
【python爬虫】3.爬虫初体验(BeautifulSoup解析)
【python爬虫】4.爬虫实操(菜品爬取)
【python爬虫】5.爬虫实操(歌词爬取)
【python爬虫】6.爬虫实操(带参数请求数据)
【python爬虫】7.爬到的数据存到哪里?
【python爬虫】8.温故而知新
【python爬虫】9.带着小饼干登录(cookies)
【python爬虫】10.指挥浏览器自动工作(selenium)
【python爬虫】11.让爬虫按时向你汇报
【python爬虫】12.建立你的爬虫大军
【python爬虫】13.吃什么不会胖(爬虫实操练习)
【python爬虫】14.Scrapy框架讲解
【python爬虫】15.Scrapy框架实战(热门职位爬取)
【python爬虫】16.爬虫知识点总结复习

相关文章:

Python流程控制语句-条件判断语句练习及应用详解

文章目录 简介条件判断语句&#xff08;if语句&#xff09;练习1&#xff1a;判断奇偶数练习2&#xff1a;判断闰年练习3&#xff1a;计算狗的年龄相当于人的年龄练习4&#xff1a;根据成绩奖励练习5&#xff1a;选择婚姻对象 小结 python 学习专栏推荐python基础知识&#xff…...

(十)ElasticSearch高级使用【别名,重建索引,refresh操作,高亮查询,查询建议】

1.别名使用 1&#xff09;别名作用 在开发中&#xff0c;随着业务需求的迭代&#xff0c;较⽼的业务逻辑就要⾯临更新甚⾄是重构&#xff0c;⽽对于es来说&#xff0c;为了 适应新的业务逻辑&#xff0c;可能就要对原有的索引做⼀些修改&#xff0c;⽐如对某些字段做调整&…...

基于小波神经网络的中药材价格预测,基于ANN的小波神经网络中药材价格预测

目标 背影 BP神经网络的原理 BP神经网络的定义 BP神经网络的基本结构 BP神经网络的神经元 BP神经网络的激活函数, BP神经网络的传递函数 小波神经网络(以小波基为传递函数的BP神经网络) 代码链接:基于小波神经网络的中药材价格预测,ANN小波神经网络中药材价格预测资源-CS…...

thinkPhp5返回某些指定字段

//去除掉密码$db new UserModel();$result $db->field(password,true)->where("username{$params[username]} AND password{$params[password]}")->find(); 或者指定要的字段的数组 $db new UserModel();$result $db->field([username,create_time…...

基于docker环境的tomcat开启远程调试

背景&#xff1a; Tomcat部署在docker环境中&#xff0c;使用rancher来进行管理&#xff0c;需要对其进行远程调试。 操作步骤&#xff1a; 1.将容器中的catalina.sh映射出来&#xff0c;便于对其修改&#xff0c;添加远程调试相关参数。 注意&#xff1a;/data/produce2201…...

ELK日志框架图总结

ELK日志框架图总结 本文目录 ELK日志框架图总结Elastic Stack介绍模式分层图beatselasticsearchkibana模式logstashelasticsearchkibana模式beatslogstashelasticsearchkibana模式beats缓存/消息队列logstashelasticsearchkibana模式elkspringboot Elastic Stack介绍 官网&…...

go 每天定时任务 --chatGPT

问&#xff1a;clearLog(hour&#xff0c;cmds),定时执行shell 命令&#xff0c;hour 为每天的几点&#xff0c;cmds 为linux命令数组字符串&#xff08;如 1&#xff0c;{"ls","cd"}&#xff09; gpt: 要编写一个 Go 函数 clearLog&#xff0c;该函数可…...

Lightdb 23.3 plorasql函数支持DML

开篇立意 oracle在函数中使用dml语句时&#xff0c;有两者情况。即&#xff1a;&#xff08;1&#xff09;直接使用select调用该函数&#xff1b;&#xff08;2&#xff09;在匿名块中调用该函数。 针对第一种情况我们测试一下 简单的函数&#xff1a; create table nested_t…...

电容笔值不值得买?开学季比较好用的电容笔

眼看着新学期即将到来&#xff0c;到底应该选择什么样的电容笔&#xff1f;一款原装的苹果Pencil&#xff0c;就卖到了将近一千块&#xff0c;这对于很多人来说&#xff0c;都是一个十分昂贵的价格。事实上&#xff0c;由于平替电容笔的价格非常便宜&#xff0c;只要一二百元就…...

Mybatis 框架 ( 五 ) 分页

4.6.分页 Mybatis-plus 内置分页插件, 并支持多种数据库 官网 : 分页插件 | MyBatis-Plus (baomidou.com) 4.6.1.增加拦截器 通过 MapperScan 指定 mapper接口的路径 import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plug…...

Python模板注入

概念 发生在使用模板引擎解析用户提供的输入时。模板注入漏洞可能导致攻击者能够执行恶意代码或访问未授权的数据。 模板引擎可以让&#xff08;网站&#xff09;程序实现界面与数据分离&#xff0c;业务代码与逻辑代码分离。即也拓宽了攻击面&#xff0c;注入到模板中的代码可…...

Java常用的设计模式

单例模式&#xff08;Singleton Pattern&#xff09;: 确保一个类只有一个实例&#xff0c;并提供一个全局访问点。示例&#xff1a;应用程序中的配置管理器。 工厂模式&#xff08;Factory Pattern&#xff09;: 用于创建对象的模式&#xff0c;封装对象的创建过程。示例&…...

攻防世界-WEB-Web_php_include

打开靶机 通过代码审计可以知道&#xff0c;存在文件包含漏洞&#xff0c;并且对伪协议php://进行了过滤。 发现根目录下存在phpinfo 观察phpinfo发现如下&#xff1a; 这两个都为on 所以我们就可以使用data://伪协议 payload如下&#xff1a; - ?pagedata://text/plain,…...

angular中多层嵌套结构的表单如何处理回显问题

最近在处理angular表单时&#xff0c;有一个4层结构的表单。而且很多元素时动态生成&#xff0c;如下&#xff1a; this.validateFormthis.fb.group({storeId: ["test12"],storeNameKey:[],config:this.fb.group({ tableSize:this.fb.group({toggle:[false],groupSiz…...

Leetcode646. 最长数对链

Every day a Leetcode 题目来源&#xff1a;646. 最长数对链 解法1&#xff1a;动态规划 定义 dp[i] 为以 pairs[i] 为结尾的最长数对链的长度。 初始化时&#xff0c;dp 数组需要全部赋值为 1。 计算 dp[i] 时&#xff0c;可以先找出所有的满足 pairs[i][0]>pairs[j]…...

Windows 下安装NPM

第一步: 下载node.js的windows版 当前最新版本是https://nodejs.org/dist/ 第二步:设置环境变量 把node.exe所在目录加入到PATH环境变量中。 配置成功后可以在CMD中通过node --version 看到node.js对应的版本号 C:\Users\fn>node --version v6.10.2 第三步: 安装git 直接…...

【ARM CoreLink 系列 2 -- CCI-400 控制器简介】

文章目录 CCI-400 介绍DVM 机制介绍DVM 消息传输过程TOKEN 机制介绍 下篇文章&#xff1a;ARM CoreLink 系列 3 – CCI-550 控制器介绍 CCI-400 介绍 CCI&#xff08;Cache Coherent Interconnect&#xff09;是ARM 中 的Cache一致性控制器。 CCI-400 将 Interconnect 和coh…...

LeetCode(力扣)77. 组合Python

LeetCode77. 组合 题目链接代码 题目链接 https://leetcode.cn/problems/combinations/description/ 代码 class Solution:def combine(self, n: int, k: int) -> List[List[int]]:result []return self.backtracking(n, k, 1, [], result)def backtracking(self, n, k…...

uniapp h5 微信缓存,解决版本更新还是旧版本

文章目录 一、微信缓存是什么&#xff1f;二、如何解决1.打包入口文件解决2.给请求url加时间戳3.给打包的js文件添加时间戳并修改打包后的css文件夹 总结 一、微信缓存是什么&#xff1f; 微信缓存是指微信客户端为了提高用户的使用体验&#xff0c;会在用户使用微信过程中将一…...

Nacos——Distro一致性协议

Nacos——Distro一致性协议 1. 理论 一致性一直都是分布式系统中绕不开的话题。根据CAP中&#xff0c;要么CP(保证强一致性牺牲可用性)&#xff0c;要么AP(最终一致性来保证可用性)&#xff0c;在市面上也有几种一致性算法&#xff0c;像Paxos&#xff0c;Raft&#xff0c;Zoo…...

大模型参数高效微调PEFT的理解和应用

简介 近年的大型语言模型&#xff08;也被称作基础模型&#xff09;&#xff0c;大多是采用大量资料数据和庞大模型参数训练的结果&#xff0c;比如常见的ChatGPT3有175B的模型参数量。随着Large Language Model(LLM)的横空出世&#xff0c;网络模型对常见问题的解答有了很强的…...

工作游戏时mfc140u.dll丢失的解决方法,哪个方法可快速修复mfc140u.dll问题

在 Windows 操作系统中&#xff0c;mfc140u.dll 文件是非常重要的一个组件&#xff0c;许多基于 MFC&#xff08;Microsoft Foundation Classes&#xff09;的程序都需要依赖这个文件。然而&#xff0c;有些用户在运行这些程序时可能会遇到mfc140u.dll丢失的问题&#xff0c;导…...

选择排序——直接选择排序

直接选择排序&#xff1a;&#xff08;以重复选择的思想为基础进行排序&#xff09; 1、简述 顾名思义就是选出一个数&#xff0c;再去抉择放哪里去。 设记录R1&#xff0c;R2…&#xff0c;Rn&#xff0c;对i1&#xff0c;2&#xff0c;…&#xff0c;n-1&#xff0c;重复下…...

【C++基础】观察者模式(“发布-订阅”模式)

本文参考&#xff1a;观察者模式 - 摩根斯 | 爱编程的大丙 观察者模式允许我们定义一种订阅机制&#xff0c;可在对象事件发生时通知所有的观察者对象&#xff0c;使它们能够自动更新。观察者模式还有另外一个名字叫做“发布-订阅”模式。 发布者&#xff1a; 添加订阅者&…...

从业多年,我总结出软件测试工程师必须掌握的技能,你不可错过!

经常会有小伙伴询问&#xff1a;“测试工程师有哪些必须要掌握的技能&#xff1f;”这是一个非常大的课题&#xff0c;因为每个人从事的行业不同、岗位不同&#xff0c;需要掌握的技能自然也不一样。 今天小编就从不同岗位、不同行业两个大方面&#xff0c;来讲讲软件测试工程师…...

【nerfStudio】5-nerfStudio导出3D Mesh模型

几何图形的导出 在这里我们将介绍如何从nerfstudio中导出点云和网格。您将使用的主要命令是ns-export。我们将点云导出为.ply文件,纹理网格导出为.obj文件。 导出网格 1. TSDF融合 TSDF(截断有符号距离函数)融合是一种使用深度图像提取表面网格的算法。此方法适用于所有…...

重要公告|投票委托已经上线,应该如何选择社区代表?

社区代表是Token持有者委托投票权的个人或团体&#xff0c;可以代表Token持有者在Moonbeam治理中投票。委托是可选的&#xff0c;允许代表在治理过程中代表更大比例的Token和Token持有者。相比社区代表&#xff0c;不愿投票的Token持有者可以将投票权委托给社区代表&#xff0c…...

【操作系统】聊聊进程、线程、协程

进程内部有那些数据 为什么创建进程的成本高 进程和线程 进程是资源分配的基本单位&#xff0c;而线程是程序执行的基本单位&#xff0c;一个是从资源分配的角度看&#xff0c;另一个是执行角度。 那么进程和程序的区别是什么&#xff1f; 程序&#xff0c;一段代码&#xff…...

springboot 下 activiti 7会签配置与实现

流程图配置 会签实现须在 userTask 节点下的 multi instance 中配置 collection 及 completion condition; collection 会签人员列表&#xff1b;element variable 当前会签变量名称&#xff0c;类似循环中的 item;completion condition: 完成条件。 ${taskExecutionServiceIm…...

RK3399平台开发系列讲解(内核调试篇)spidev_test工具使用

🚀返回专栏总目录 文章目录 一、环境二、执行测试三、回环测试四、字节发送测试五、32位数据发送测试沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 在 Linux 系统上,“spidev_test” 是一个用于测试和配置 SPI(Serial Peripheral Interface)设备的命令行工具。…...

新人如何自学做网站/seo基础入门免费教程

点击上方“蓝色字”可关注我们&#xff01;暴走时评&#xff1a;奥地利政府将使用以太坊区块链公证价值11.5亿欧元&#xff08;约合13亿美元&#xff09;的政府债券拍卖&#xff0c;联邦政府财政局&#xff08;OeBFA&#xff09;已指派银行业巨头Oesterreichische Kontrollbank…...

北京做网站那家好/新闻最近的新闻

作者&#xff1a;Jamie Hannaford翻译&#xff1a;bbbmj&#xff08;才云&#xff09;校对&#xff1a;bot&#xff08;才云&#xff09;源代码解释版&#xff08;强烈建议阅读&#xff09;&#xff1a;https://github.com/bbbmj/what-happens-when-k8s想象一下&#xff0c;当你…...

关于怎么做网站/济南seo网站优化公司

对原件&#xff0c;有这几种&#xff1a;1&#xff0c;全中文&#xff08;含标点&#xff0c;一些英文符号&#xff09;2&#xff0c;中英文&#xff08;英文较多&#xff0c;或英文占大多数&#xff09;3&#xff0c;全英文&#xff08;这个用finereader8.0&#xff09; 針對1…...

解决wordpress图片上传失真/app开发公司推荐

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid4553 解题思路&#xff1a; ①题目的意思是询问当前是否能够给出空余的一段连续时间&#xff0c;并且这段时间尽可能靠前。 需要两棵树&#xff0c;一棵屌丝女神&#xff0c;另一棵女神 对于屌丝询问第一棵树…...

有打赏功能的网站/站内推广的方法

http://www.pc6.com/edu/81140.html...

做查询网站费用/行业关键词查询

ER图(实体关系图)是一种数据库建模方法&#xff0c;帮助表示实体和实体之间的关系。 MySQL本身不提供画ER图的功能&#xff0c;你可以使用第三方工具&#xff0c;如&#xff1a; LucidchartMicrosoft VisioGliffyDraw.io 这些工具都支持画ER图&#xff0c;且都有免费版本。可以…...