当前位置: 首页 > 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…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...