Python学习——【2.1】if语句相关语法

news2024/9/19 23:04:06

文章目录

  • 【2.1】if语句相关
    • 一、布尔类型和比较运算符
      • (一)布尔类型
      • (二)比较运算符
    • 二、if语句的基本格式
      • ※、练习
    • 三、if-else组合判断语句
      • ※、练习
    • 四、if-elif-else多条件判断语句
      • ※、练习
    • 五、判断语句的嵌套
    • ※、实战案例

【2.1】if语句相关

一、布尔类型和比较运算符

(一)布尔类型

  进行判断,只有两个结果:

  那么,在程序中,如何描述呢?

  使用:布尔类型。

image-20240916131440746

  布尔类型是数字类型下的一个小类。它有两个字面量,TrueFalse,分别表示真和假。之所以布尔类型被划分到数字类型下面,是因为True本质是一个数字1,False本质是一个数字0。

  布尔类型不仅可以自行定义,同时也可以通过计算得来,即通过比较运算符进行比较运算得到布尔类型的结果。

(二)比较运算符

  布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到。

result = 10 > 5
print(f"10 > 5 的结果是:{result},类型是:{type(result)}")

result = "xiaoming" == "zhangsan"
print(f"字符串xiaoming是否和zhangsan相等?结果是:{result},类型是:{type(result)}")

输出结果如下:

10 > 5 的结果是:True,类型是:<class 'bool'>
字符串xiaoming是否和zhangsan相等?结果是:False,类型是:<class 'bool'>

image-20240916132327638

二、if语句的基本格式

  if判断语句语法如下:

if 要判断的条件:
	条件成立时,要做的事情

  当if后面要判断的条件为True时,if语句内的代码会被执行;当为False时,代码不会被执行。

  例如:

# 定义变量
age = 30

# 进行判断
if age >= 18:
    print("我已经成年了")

  注意,在if语句内部,可以写任意多的代码,而不是只能写一行。但一定要注意,归属于if语句的代码块,其前方要正确进行缩进。

age = 18

print(f"今年我已经{age}岁了。")

if age >= 18:
    print("我已经成年了")
    print("即将步入大学生活")
    
print("时间过得真快")

  当age为18时,输出结果如下:

今年我已经18岁了。
我已经成年了
即将步入大学生活
时间过得真快

  当age为10时,输出结果如下:

今年我已经10岁了。
时间过得真快

※、练习

案例:成年人判断

  结合前面学习的input输入语句,完成如下案例:

  1.通过input语句,获取键盘输入,为变量age赋值。(注意转换成数字类型)

  2.通过if判断是否是成年人,满足条件则输出提示信息,如下:

欢迎来到游乐场,儿童免费,成人收费。
请输入你的年龄:30
您已成年,游玩需要补票10元。
祝您游玩愉快。

我的代码

print("欢迎来到游乐场,儿童免费,成人收费。")
age = int(input("请输入你的年龄:"))

if age >= 18:
    print("您已成年,游玩需要补票10元。")

print("祝您游玩愉快。")

三、if-else组合判断语句

  if-else判断语法如下:

if 条件:
	满足条件时要做的事情1
	满足条件时要做的事情2
	满足条件时要做的事情3
	...
else:
	不满足条件时要做的事情1
	不满足条件时要做的事情2
	不满足条件时要做的事情3
	...

  例如:

print("欢迎来到游乐场,儿童免费,成人收费。")
age = int(input("请输入你的年龄:"))

if age >= 18:
    print("您已成年,游玩需要补票10元。")
else:
    print("您未成年,可以免费游玩。")
    
print("祝您游完愉快。")

  说明:

  1.if和其代码块,条件满足时执行;

  2.else搭配if,表示当不满足时执行;

  3.else不需要写判断条件,当与之搭配的if的条件不满足时,即else执行;

  4.else下的代码块,同样需要注意正确的缩进。

※、练习

案例:我要买票吗

  通过input语句获取键盘输入的身高。

  判断身高是否超过120cm,并通过print给出提示信息。

欢迎来到动物园。
请输入你的身高(cm):130
你的身高超过120cm,游玩需要购票10元。
祝您游玩愉快。
欢迎来到动物园。
请输入你的身高(cm):110
你的身高未超过120cm,可以免费游玩。
祝您游玩愉快。

我的代码

print("欢迎来到动物园")
height = int(input("请输入你的身高(cm):"))

if height > 120:
    print("你的身高超过120cm,游玩需要购票10元。")
else:
    print("你的身高未超过120cm,可以免费游玩。")
print("祝您游玩愉快。")

四、if-elif-else多条件判断语句

  某些场景下,判断条件不止一个,可能有多个。

  if-elif-else多条件判断语法如下:

if 条件1:
	条件1满足时应该做的事情
	...
elif 条件2:
	条件2满足时应该做的事情
	...
elif 条件N:
	条件N满足时应该做的事情
	...
else:
	上面所有条件都不满足时应该做的事情
	...

  例如:

print("欢迎来到动物园。")
height = int(input("请输入你的身高(cm):"))
vip_level = int(input("请输入你的vip级别(1~5):"))
day = int(input("请输入今天的日期(1~31):"))

if height < 120:
    print("您的身高小于120cm,可以免费游玩。")
elif vip_level > 3:
    print("您的vip级别大于3,可以免费游玩。")
elif day == 1:
    print("今天是1号免费日,可以免费游玩。")
else:
    print("不好意思,所有免票条件都不满足,您需要购票10元。")

print("祝您游玩愉快。")

  判断是互斥且有顺序的,对于上述例子:

  1.从上到下,一旦有一个条件得到满足,就不再理会后续条件。比如,一旦满足条件1,就不再理会条件2和3。若不满足条件1,但满足条件2,则不再理会条件3。所有条件都不满足,才会进入else。

  2.else不是必须要写的,可以不写。

  另外,对于上面例子的代码,可以进一步简化一下,如下所示:

print("欢迎来到动物园。")

if int(input("请输入你的身高(cm):")) < 120:
    print("您的身高小于120cm,可以免费游玩。")
elif int(input("请输入你的vip级别(1~5):")) > 3:
    print("您的vip级别大于3,可以免费游玩。")
elif int(input("请输入今天的日期(1~31):")) == 1:
    print("今天是1号免费日,可以免费游玩。")
else:
    print("不好意思,所有免票条件都不满足,您需要购票10元。")

print("祝您游玩愉快。")

  这样写的好处在于:第一,不需要定义变量了,代码比较“简洁”;第二,由于“一旦有一个条件得到满足,就不再理会后续条件”的规则,所以某些情况下可以少做input操作。

※、练习

案例:猜数字

  1.定义一个变量,数字类型,内容随意。

  2.基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字是否正确。

请输入第一次猜想的数字:1
不对,再猜一次:2
不对,再猜最后一次:3
Sorry,全部猜错啦,我的数字是:10

我的代码

num = 10

if int(input("请输入第一次猜想的数字:")) == num:
    print("恭喜你,猜对了。")
elif int(input("不对,再猜一次:")) == num:
    print("恭喜你,猜对了。")
elif int(input("不对,再猜最后一次:")) == num:
    print("恭喜你,猜对了。")
else:
    print(f"Sorry,全部猜错啦,我的数字是:{num}")

五、判断语句的嵌套

  有很多场景,不仅仅是多个条件并列的关系,还会有满足前置条件才会进行二次判断的多层判断需求。

  语法格式如下:

if 条件1:
	满足条件1时做的事情
	...
	
	if 条件2:
		满足条件2时做的事情
		...

  如上所示,对于第二个if,它位于第一个if的代码块内,因此只有当第一个if满足条件时,才会执行第二个if。

  嵌套的关键点,在于空格缩进。通过空格缩进,来决定语句间的层次关系

  例如:

print("欢迎来到动物园。")
if int(input("输入你的身高:")) > 120:
    print("你的身高大于120cm,不可以免费")
    print("不过如果你的vip等级高于3,可以免费游玩")

    if int(input("输入你的vip等级:")) > 3:
        print("你的vip等级大于3,欢迎你免费游玩。")
    else:
        print("Sorry,你需要补票10元。")
else:
    print("欢迎你免费游玩。")

  说明:

  1.嵌套判断语句可以用于多条件、多层次的逻辑判断;

  2.嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断;

  3.嵌套判断语句,一定要注意空格缩进,因为Python是通过空格缩进来决定层次关系的。

※、实战案例

案例需求

  定义一个数字(1-10,随机产生),通过3次判断来猜数字。

案例要求

  1.数字随机产生,范围1-10;

  2.有3次机会猜测数字,通过3层嵌套判断实现;

  3.每次猜不中,会提示大了或小了。

  提示,通过如下代码,可以定义一个变量num,变量内存储1-10随机数字。

import random
num = random.randint(1, 10)

代码

# 构建一个随机数字变量
import random
rand_num = random.randint(1, 10)

guess_num = int(input("请输入你猜的数字:"))
if guess_num == rand_num:
    print("恭喜你,第一次就猜中了!")
else:
    if guess_num > rand_num:
        print("你猜的数字偏大了")
    else:
        print("你猜的数字偏小了")
        
    guess_num = int(input("请输入你猜的数字:"))
    if guess_num == rand_num:
        print("恭喜你,猜中了。")
    else:
        if guess_num > rand_num:
            print("你猜的数字偏大了")
        else:
            print("你猜的数字偏小了")

        guess_num = int(input("请输入你猜的数字:"))
        if guess_num == rand_num:
            print("恭喜你,在最后一次机会时猜中了。")
        else:
            print("仍然没有猜中,三次机会用完了,游戏结束。")

注:

  使用for循环或while循环能更好地实现这个需求。

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

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

相关文章

AlexNet项目图片分类通用模型代码

目录 一&#xff1a;建立AlexNet模型&#xff08;在model文件中写&#xff09; 1.构造5层卷积层 2.构造3层神经网络层 3.forward函数 4.模型最终代码 二&#xff1a;训练数据&#xff08;在train中写&#xff09; 1.读出数据 2.训练 3. 测试模型更新参数 4.完整的训练…

Datawhile 组队学习Tiny-universe Task01

Task01&#xff1a;LLama3模型讲解 仓库链接&#xff1a;GitHub - datawhalechina/tiny-universe: 《大模型白盒子构建指南》&#xff1a;一个全手搓的Tiny-Universe 参考博客&#xff1a;LLaMA的解读与其微调(含LLaMA 2)&#xff1a;Alpaca-LoRA/Vicuna/BELLE/中文LLaMA/姜子…

新的突破,如何让AI与人类对话变得“顺滑”:Moshi背后的黑科技

你有没有想过,当我们跟智能音箱、客服机器人或者语音助手对话时,它们是怎么“听懂”我们说的话,又是怎么迅速给出回应的?就好像你对着Siri、Alexa说一句:“给我订个披萨”,它立刻明白你想要干嘛,然后帮你下单。背后的技术其实比我们想象的要复杂得多,但现在,有了Moshi…

Qt_布局管理器

目录 1、QVBoxLayout垂直布局 1.1 QVBoxLayout的使用 1.2 多个布局管理器 2、QHBoxLayout水平布局 2.1 QHBoxLayout的使用 2.2 嵌套的Layout 3、QGridLayout网格布局 3.1 QGridLayout的使用 3.2 设置控件大小比例 4、QFormLayout 4.1 QFormLayout的使用 5、…

【2024】前端学习笔记8-内外边距-边框-背景

学习笔记 外边距&#xff1a;Margin内边距&#xff1a;Padding边框&#xff1a;Border背景&#xff1a;Background 外边距&#xff1a;Margin 用于控制元素周围的空间&#xff0c;它在元素边框之外创建空白区域&#xff0c;可用于调整元素与相邻元素&#xff08;包括父元素和兄…

AI预测福彩3D采取888=3策略+和值012路或胆码测试9月19日新模型预测第92弹

经过90多期的测试&#xff0c;当然有很多彩友也一直在观察我每天发的预测结果&#xff0c;得到了一个非常有价值的信息&#xff0c;那就是9码定位的命中率非常高&#xff0c;90多期一共只错了10次&#xff0c;这给喜欢打私房菜的朋友提供了极高价值的预测结果~当然了&#xff0…

教育政策与智能技术:构建新时代教师队伍

据最新统计&#xff0c;我国目前拥有各级各类教师共计1891.8万人&#xff0c;这一庞大的教师群体不仅支撑起了全球规模最大的教育体系&#xff0c;更成为了推动教育创新与变革的主力军。面对教育数字化的不断发展&#xff0c;育人内容、目标要求、方式方法的全面升级&#xff0…

【测向定位】差频MUSIC算法DOA估计【附MATLAB代码】

​微信公众号&#xff1a;EW Frontier QQ交流群&#xff1a;554073254 摘要 利用多频处理方法&#xff0c;在不产生空间混叠的情况下&#xff0c;估计出高频区域平面波的波达方向。该方法利用了差频&#xff08;DF&#xff09;&#xff0c;即两个高频之间的差。这使得能够在可…

鹏鼎控股社招校招入职SHL综合能力测评:高分攻略及真题题库解析答疑

鹏鼎控股&#xff08;深圳&#xff09;股份有限公司&#xff0c;成立于1999年4月29日&#xff0c;是一家专注于印制电路板&#xff08;PCB&#xff09;的设计、研发、制造与销售的高新技术企业。公司总部位于中国广东省深圳市&#xff0c;并在全球多个地区设有生产基地和服务中…

【软考】数据字典(DD)

目录 1. 说明2. 数据字典的内容2.1 说明2.2 数据流条目2.3 数据存储条目2.4 数据项条目2.5 基本加工条目 3. 数据词典管理4. 加工逻辑的描述4.1 说明4.2 结构化语言4.3 判定表4.3 判定树 5. 例题5.1 例题1 1. 说明 1.数据流图描述了系统的分解&#xff0c;但没有对图中各成分进…

软件自动定时启动器-添加可执行文件软件,设置启动的时间,也可以设置关闭的时间-供大家学习研究参考

点击添加软件&#xff0c;可以添加可执行文件软件&#xff0c;设置启动的时间&#xff0c;也可以设置关闭的时间 注意&#xff0c;时间为00&#xff1a;00&#xff1a;00 等于没设置&#xff0c;这个时间不在设置范围&#xff0c;其他任何时间都可以。 下载地址&#xff1a; h…

【C++ Primer Plus习题】16.9

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> #include <ctime> #include <v…

驱动---动态模块编译

动态模块编译 ctags 用法 创建文件 ------- ctags -R 一定要在顶层目录下 1&#xff0e; ctags –R * 2. vi –t tag (请把tag替换为您欲查找的变量或函数名) 3&#xff0e; Ctrl ] (跳转到要找的目标) 4&#xff0e; Ctrl T (回跳) 5&#xff0e; set tag/p…

解决使用nvm管理node版本时提示npm下载失败的问题

目录 一、引言 二、解决步骤 1. 访问该网站下载对应版本的npm Release v6.14.18 npm/cli GitHubthe package manager for JavaScript. Contribute to npm/cli development by creating an account on GitHub.https://github.com/npm/cli/releases/tag/v6.14.18 2. 解压到n…

mac使用技巧

mac使用技巧 快捷键 Command-X&#xff1a;剪切所选项并拷贝到剪贴板。Command-C&#xff1a;将所选项拷贝到剪贴板。这同样适用于“访达”中的文件。Command-V&#xff1a;将剪贴板的内容粘贴到当前文稿或应用中。这同样适用于“访达”中的文件。Command-Z&#xff1a;撤销上…

高级算法设计与分析 学习笔记6 B树

B树定义 一个块里面存了1000个数和1001个指针&#xff0c;指针指向的那个块里面的数据大小介于指针旁边的两个数之间 标准定义&#xff1a; B树上的操作 查找B树 创建B树 分割节点 都是选择正中间的那个&#xff0c;以免一直分裂。 插入数字 在插入的路上就会检查节点需不需要…

Ansible——Playbook基本功能???

文章目录 一、Ansible Playbook介绍1、Playbook的简单组成1&#xff09;“play”2&#xff09;“task”3&#xff09;“playbook” 2、Playbook与ad-hoc简单对比区别联系 3、YAML文件语法&#xff1a;---以及多个---&#xff1f;&#xff1f;使用 include 指令 1. 基本结构2. 数…

搜维尔科技:Haption力反馈遥操作解决方案

硬件设备 多种力反馈设备型号&#xff1a; 1.Haption Virtuose 6D&#xff1a;能在 6 个自由度&#xff08;x、y、z 轴 3 个平移和 3 个旋转&#xff09;上提供精确的力反馈&#xff0c;工作空间相当于一条人体手臂的活动范围&#xff0c;最大力度和旋转扭矩分别高达 35N 和 …

干货:分享6款ai论文写作助手,一键生成原创论文(步骤+工具)

写一篇论文是一个复杂的过程&#xff0c;涉及多个步骤&#xff0c;包括选题、研究、撰写、编辑和校对。AI可以在其中的一些步骤中提供帮助&#xff0c;但最终的论文还是需要人类作者的深入思考和创造性输入。以下是六款值得推荐的AI论文写作助手&#xff0c;其中特别推荐千笔-A…

秃姐学AI系列之:目标检测(物体检测) + 边缘框代码实现 | 锚框 + 代码实现

目录 目标检测 边缘框 目标检测数据集 总结 代码实现 定义在两种表示之间进行转换的函数 定义图像中狗和猫的边界框 将边框在图中画出 锚框 Anchor Box IoU——交并比 赋予锚框标号 使用非极大值抑制&#xff08;NMS&#xff09;输出 总结 代码实现 锚框 IoU——交…