Python基础(七):条件语句深入了解

news2025/1/17 15:18:34

文章目录

条件语句深入了解

一、了解条件语句

二、if 语法

1、语法

2、快速体验

三、实例(上网)

1、简单版

2、进阶版

四、if...else... 

1、语法

2、实用版:网吧上网

五、多重判断

1、语法

2、实例:工龄判断

六、if嵌套

1、语法 

2、实例:坐公交

3、if嵌套执行流程

七、 应用:猜拳游戏

八、三目运算符

九、总结


条件语句深入了解

14天学习训练营导师课程:
杨鑫《Python 自学编程基础》
杨鑫《 Python 网络爬虫基础》
杨鑫《 Scrapy 爬虫框架实战和项目管理》

一、了解条件语句

假设⼀个场景:
  • 同学们这个年龄去过网吧吗?
  • 去网吧进门想要上网必须做的⼀件事是做什么?(考虑重点)
  • 为什么要把身份证给工作⼈员?
  • 是不是就是为了判断是否成年?
  • 是不是如果成年可以上网?如果不成年则不允许上网?
其实这⾥所谓的判断就是条件语句,既条件 成立执行某些代码,条件不成立则不执行这些代码

二、if 语法

1、语法

if 条件:
 条件成⽴执⾏的代码1
 条件成⽴执⾏的代码2
 ......

2、快速体验

if True:
    print('条件成⽴执⾏的代码1')
    print('条件成⽴执⾏的代码2')
# 下⽅的代码没有缩进到if语句块,所以和if条件⽆关
print('我是⽆论条件是否成⽴都要执⾏的代码')
执行结果如下:

三、实例(上网)

需求分析:如果用户年龄大于等于 18 岁,即成年,输出 " 已经成年,可以上网 "

1、简单版

age = 20
if age >= 18:
    print('已经成年,可以上⽹')
print('系统关闭')

执行结果: 

2、进阶版

新增需求:用户可以输出自己的年龄,然后系统进行判断是否成年,成年则输出 " 您的年龄是 ' 用户输入的年龄' ,已经成年,可以上网 "
# input接受⽤户输⼊的数据是字符串类型,条件是age和整型18做判断,所以这⾥要int转换数据类型
age = int(input('请输⼊您的年龄:'))
if age >= 18:
    print(f'您的年龄是{age},已经成年,可以上⽹')
print('系统关闭')

执行结果:

四、if...else... 

作用:条件成立执⾏ if 下方的代码 ; 条件不成立执行 else 下方的代码。
思考:⽹吧上⽹的实例,如果成年,允许上⽹,如果不成年呢?是不是应该回复⽤户不能上⽹?

1、语法

if 条件:
    条件成⽴执⾏的代码1
    条件成⽴执⾏的代码2
    ......
else:
    条件不成⽴执⾏的代码1
    条件不成⽴执⾏的代码2
    ......

2、实用版:网吧上网

age = int(input('请输⼊您的年龄:'))
if age >= 18:
    print(f'您的年龄是{age},已经成年,可以上⽹')
else:
    print(f'您的年龄是{age},未成年,请⾃⾏回家写作业')
print('系统关闭')

执行结果:

注意:如果某些条件成立执行了相关的代码,那么其他的情况的代码解释器根本不会执行。

五、多重判断

思考:中国合法工作年龄为 18-60 岁,即如果年龄小于 18 的情况为童工,不合法;如果年龄在 18-60岁之间为合法⼯龄;大于 60 岁为法定退休年龄。

1、语法

if 条件1:
    条件1成⽴执⾏的代码1
    条件1成⽴执⾏的代码2
    ......
elif 条件2:
    条件2成⽴执⾏的代码1
    条件2成⽴执⾏的代码2
    ......
    ......
else:
    以上条件都不成⽴执⾏执⾏的代码
多重判断也可以和 else 配合使用。⼀般 else 放到整个 if 语句的最后,表示以上条件都不成立的时候执行的代码。

2、实例:工龄判断

age = int(input('请输⼊您的年龄:'))
if age < 18:
    print(f'您的年龄是{age},童⼯⼀枚')
elif age >= 18 and age <= 60:
    print(f'您的年龄是{age},合法⼯龄')
elif age > 60:
    print(f'您的年龄是{age},可以退休')

执行结果: 

拓展: age >= 18 and age <= 60 可以化简为 18 <= age <= 60

六、if嵌套

思考:坐公交:如果有钱可以上⻋,没钱不能上车;上车后如果有空座,则可以坐下;如果没空座,就要站着。怎么书写程序?

1、语法 

if 条件1:
    条件1成⽴执⾏的代码
    条件1成⽴执⾏的代码
 
    if 条件2:
        条件2成⽴执⾏的代码
        条件2成⽴执⾏的代码
注意:条件 2 if 也是出于条件 1 的缩进关系内部。

2、实例:坐公交

2.1、判断是否能上车
"""
    1. 如果有钱,则可以上⻋
    2. 上⻋后,如果有空座,可以坐上⻋后,如果没有空座,则站着等空座如果没钱,不能上⻋
"""
# 假设⽤ money = 1 表示有钱, money = 0表示没有钱
money = 1
if money == 1:
    print('⼟豪,不差钱,顺利上⻋')
else:
    print('没钱,不能上⻋,追着公交⻋跑')

执行结果: 

2.2、判断是否能坐下 

"""
    1. 如果有钱,则可以上⻋
    2. 上⻋后,如果有空座,可以坐下,上⻋后,如果没有空座,则站着等空座位,如果没钱,不能上⻋
"""
# 假设⽤ money = 1 表示有钱, money = 0表示没有钱; seat = 1 表示有空座,seat = 0 表示没有空座
money = 1
seat = 0
if money == 1:
    print('⼟豪,不差钱,顺利上⻋')
    if seat == 1:
        print('有空座,可以坐下')
    else:
        print('没有空座,站等')
else:
    print('没钱,不能上⻋,追着公交⻋跑')

执行结果:

3、if嵌套执行流程

七、 应用:猜拳游戏

需求分析:

随机做法:
1) 导出 random 模块
import 模块名

2)使用random模块中的随机整数功能

random.randint(开始,结束)
"""
提示:0-⽯头,1-剪⼑,2-布
1. 出拳玩家输⼊出拳电脑随机出拳
2. 判断输赢玩家获胜平局电脑获胜
"""
# 导⼊random模块
import random
# 计算电脑出拳的随机数字
computer = random.randint(0, 2)
print(computer)
player = int(input('请出拳:0-⽯头,1-剪⼑,2-布:'))
# 玩家胜利 p0:c1 或 p1:c2 或 p2:c0
if ((player == 0) and (computer == 1) or ((player == 1) and (computer == 2) or ((player == 2) and (computer == 0)):
    print('玩家获胜')
# 平局:玩家 == 电脑
elif player == computer:
    print('平局')
else:
    print('电脑获胜')

执行结果:

八、三目运算符

三目运算符也叫三元运算符或三元表达式。
语法如下:
条件成⽴执⾏的表达式 if 条件 else 条件不成⽴执⾏的表达式 1
快速体验:
a = 1
b = 2
c = a if a > b else b
print(c)

执行结果:

九、总结

  • if语句语法
if 条件:
    条件成⽴执⾏的代码
  • if...else...
if 条件:
    条件成⽴执⾏的代码
else:
    条件不成⽴执⾏的代码
  • 多重判断
if 条件1:
    条件1成⽴执⾏的代码
elif 条件2:
    条件2成⽴执⾏的代码
else:
    以上条件都不成⽴执⾏的代码
  • if嵌套
if 条件1:
    条件1成⽴执⾏的代码
    if 条件2:
        条件2成⽴执⾏的代码
        ....
  • 三目运算符
条件成⽴执⾏的表达式 if 条件 else 条件不成⽴执⾏的表达式

  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

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

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

相关文章

Kotlin高仿微信-第6篇-主页-我的

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点&#xff0c;包括&#xff1a;注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

【信管2.3】项目生命周期

项目生命周期上一篇文章内容有点多呀&#xff0c;消化完了吗&#xff1f;其实吧&#xff0c;最主要的就是那三种组织形式而已&#xff0c;别的真没什么&#xff0c;记住它们的优缺点和项目经理的权力大小就可以了。今天我们轻松点&#xff0c;虽说还是挺重要的&#xff0c;但要…

在 Docker 容器内集成 Crontab 定时任务

本文内容Crontab 基础知识Crontab 日志问题参考链接有时候&#xff0c;我们需要在容器内执行某种定时任务。譬如&#xff0c;Kerberos 客户端从 KDC 中获取到的 TGT 默认有效期为 10 个小时&#xff0c;一旦这个票据失效&#xff0c;我们将无法使用单点登录功能。此时&#xff…

谈前端测试的重要性

如果正确完成前端测试&#xff0c;将使我们的用户感到满意&#xff0c;并在使用我们的应用程序时获得良好的性能体验。 根据 Bob 大叔的说法&#xff0c;测试是系统的一部分&#xff1b;许多开发人员认为相反&#xff0c;因为他们没有部署。他宣称这是一个灾难性的观点&#x…

数据可视化之平台数据分析

一 前言 近年来&#xff0c;随着网络技术和电子商务的发展&#xff0c;对科学数据分析的研究提出了更高的要求&#xff0c;数据分析技术随之发展起来。我们可以通过数据分析技术&#xff0c;发现大量金融、通信和商业数据中隐含的规律&#xff0c;从而为决策提供依据。这已成为…

HTML5期末考核大作业 基于HTML+CSS+JavaScript仿王者荣耀首页 游戏网站开发 游戏官网设计与实现

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

Native 内存warp

Native 启动-动态/静态&libc &linker https://www.cnblogs.com/ilocker/p/4645308.html https://www.cnblogs.com/ilocker/p/4645308.html 修改LD_PRELOAD hook java native 库函数 https://blog.csdn.net/m0_57036414/article/details/126811772 Native malloc_debug …

如何用潜类别混合效应模型(Latent Class Mixed Model ,LCMM)分析老年痴呆年龄数据

全文下载链接&#xff1a;http://tecdat.cn/?p24647线性混合模型假设 N 个受试者的群体是同质的&#xff0c;并且在群体水平上由独特的曲线 Xi(t)β 描述&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。相关视频背景和定义相比之下&#xff0c;潜在类别混合模…

国鸿氢能冲刺港股:年亏损7亿 云浮工业园与青岛城投是股东

雷递网 雷建平 11月28日国鸿氢能科技&#xff08;嘉兴&#xff09;股份有限公司&#xff08;简称&#xff1a;“国鸿氢能”&#xff09;日前递交招股书&#xff0c;准备在港交所上市。年亏损7亿国鸿氢能成立于2015年6月&#xff0c;是一家以氢燃料电池为核心产品的企业&#x…

MySQL监控主从复制

show slave status; show slave status; 不够准确 使用下面的

JetpackCompose从入门到实战学习笔记3——Text的简单使用

JetpackCompose从入门到实战学习笔记3——Text的简单使用 上一篇文章我们讲解了modifier的一些简单用法&#xff0c;本篇就开始讲解基础控件Text的一些简单用法. 1.源码分析&#xff1a; Composable fun Text(text: AnnotatedString,//要显示的文本modifier: Modifier Modi…

【PAT乙级】一百一十道真题刷后大汇总——C/C++

技巧总结避免精度丢失查询数据是否存在容器之间的比较是否相等缓存区中字符残留问题巧妙输入巧妙使用hash数组简单数学质数俩数最大公约与最小公倍数因子常用的头文件及其内部函数< map >< set >< pair >< string >< vector >< algorithm >…

算法排序基础(全版)

一、简单排序 这大概是我整理的最全的有关算法排序的内容啦&#xff01;欢迎大家前来学习&#xff0c;同时也希望多多支持一下博主哦&#xff01; ​ 在我们的程序中&#xff0c;排序是非常常见的一种需求&#xff0c;提供一些数据元素&#xff0c;把这些数据元素按照一定的规则…

【C++ STL容器】:vector存放数据以及存放自定义的数据类型

前言 时不可以苟遇&#xff0c;道不可以虚行。 STL 中最常用的容器为&#xff1a;vector&#xff0c;暂且把它理解为我们之前学过的数组Array。 一、创建一个vector容器&#xff08;数组&#xff09; 添加头文件&#xff1a;#include <vector> vector<int> v;二、…

VauditDemo靶场代码审计

靶场搭建 将下载好的VAuditDemo_Debug目录复制到phpstudy的www目录下&#xff0c;然后将其文件名字修改成VAuditDemo&#xff0c;当然你也可以修改成其他的 运行phpstudy并且访问install目录下的install.php&#xff0c;这里我访问的是http://127.0.0.1/VAuditDemo/install/in…

Linux 性能分析工具- Atop安装和使用

Atop下载&#xff1a;Atoptool.nl 安装时&#xff0c;可能会出现报错&#xff1a;error: Failed dependencies 提示很需要安装python3&#xff0c;所以yum -y install python3&#xff0c;然后再装atop就没问题了。 atop 常用命令 您可在打开日志文件后&#xff0c;使用以下命…

R语言使用马尔可夫链对营销中的渠道归因建模

介绍 在这篇文章中&#xff0c;我们看看什么是渠道归因&#xff0c;以及它如何与马尔可夫链的概念联系起来。最近我们被客户要求撰写关于马尔可夫链的研究报告&#xff0c;包括一些图形和统计输出。我们还将通过一个电子商务公司的案例研究来理解这个概念如何在理论上和实践上…

QT开发教程:QScroller实现home界面滑动效果

在上章我们学习了QScroller实现home界面滑动效果,但是该界面是实现的上下滑动效果,如果想模拟手机home滑动界面,则需要实现左右滑动效果. 本章,则重写QStackedWidget类,来真正的模拟手机,来实现home界面左右滑动效果. 1.SmoothStackedWidget类实现 demo界面如下图所示(创建了…

[附源码]计算机毕业设计springboot第三方游戏零售平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Discourse 在 2022-11 的最新版本中提供了新的边栏

官方有关这个边栏的说明和解释文章请参考链接&#xff1a; Try out the new sidebar and notification menus! - announcements - Discourse Meta 中的内容。 在这个新设计的边栏中包含了一些所有人都需要使用的快捷链接&#xff0c;同时还包括一些定义的快捷分类链接和 Tag 链…