Python基础知识3: if判断语句

简介: Python基础知识3: if判断语句

一、判断的定义



  • 如果 条件满足,才能做某件事,
  • 如果 条件不满足,就做另外一件事情,或者什么也不做

另外:判断语句 又被称为 “分支语句”,正是因为有了判断,才让程序有了很多的分支。


二、if 语句体验


  • 2.1、在Python中,if 语句 就是用来进行判断的,格式如下:


if 要判断的条件:
     条件成立时,要做的事情
     ......
  • 注意:代码的缩进为一个 tab 键,或者4个空格--建议使用空格,特别指出:在Python开发中,Tab和空格不要混用
    练习年龄是否大于成年,代码如下:


age = 26
if age >= 18:
    print("已经成年")
  • 2.2、在Python中 if的条件不成立的时候所做的事情就要使用到 else 了,如下代码:


age = 16
if age >= 18:
    print("已经成年人") # 条件成立所做的事情
else:
    print("还是未成年人") # 条件不成立所做的事情
  • 注意: if 与 else 语句以及各自的缩进部分共同是一个 完整的代码块
  • 2.3、逻辑运算 : and(与)、or(或)、not(非)在程序开发中,通常 在判断条件时,会需要同时判断多个条件;只有多个条件都满足,才能执行后续代码,这个时候需要使用到 逻辑运算符;逻辑运算符可以把 多个条件按照逻辑进行连接,变成 更复杂的条件,Python中 逻辑运算符包括:and(与)、or(或)、not(非)
  • and`(与):  两边都成立才成立,否则条件不成立
  • or(或):两边至少有一个成立才成立,否则条件不成立
  • not(非): 条件取反
  • and:练习代码1、要求判断一个人的年龄是否在 10-50之间,包括两端,如下:


age = 30
if age >= 10 and age <=50:
     print("age在10-50之间")
else:
     print("age不在10-50之间")
  • or:练习代码2、要求判断一个人语文和英语两门课是否有一门及格(成绩大于等于60就是及格),如下:


chineseGrade = 60
englishGrade = 30
if chineseGrade >= 60 or englishGrade >= 60:
    print("至少有一门成绩及格")
else:
    print("两门成绩都不及格")
  • not:练习代码3、要求判断一个人是不是公司的员工,如下:


# 在开发中希望某个条件不满足时执行一些代码,可以使用not;
# 另外如果需要拼接复杂的逻辑计算条件,同样也有可能使用到 not;
is_employee = False
if not is_employee:
    print("非本公司员工,禁止入内")


三、if 语句进阶


  • 3.1、elif
    在开发中,使用 if 可以判断条件;使用 else 可以处理条件不成立 的情况;但是,如果希望 再增加一些条件,条件不同,需要执行的代码也不同 时,就可以使用 elif
    语法如下:


if 条件1:
     条件1满足执行的代码
     ......
elif 条件2:
     条件2满足执行的代码
     ......
elif 条件3:
     条件2满足执行的代码
     ......
else :
     以上条件都不满足时候执行的代码
     ......
  • 注意: elifelse 都必须和 if 联合使用,而不能单独使用;可以将 ifelifelse 以及各自缩进的代码,看成一个完整的代码块
    看下面的演练code(女友生日的判断):


holiday_day = "平安夜"
if holiday_day == "平安夜":
    print("买苹果")
elif holiday_day == "情人节":
    print("买鲜花")
elif holiday_day == "生日":
    print("买蛋糕")
else:
    print("普通的一天,在家睡觉")
  • 3.2、if的嵌套

elif 的应用场景是:同时 判断 多个条件,所有的条件是 平级

1.在开发中,使用 if 进行条件判断,如果希望 在条件成立的执行语句中 再增加条件判断,就可以使用 if 的嵌套

2. if的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断

3.if的嵌套 的语法格式,除了缩进之外 和之前的没有区别

  • 语法如下:
if 条件1:
    条件1满足执行的代码
    ......
    if 条件1基础上的条件2:
          条件2满足执行的代码
          ......
    else :
          条件2不满足执行的代码
else :
    条件1不满足执行的代码
     ......
  • 看下面的需求写code

1.定义布尔变量 has_ticket 表示是否有火车票

2.定义整型变量 knife_length 表示刀的长度,单位:厘米

3.首先检查是否有车票,如果有,才允许进行 安检

4.安检时候,需要检查刀的长度,判断是否超过20cm

如果超过 20 厘米,提示刀的长度,不允许上车

如果不超过 20 厘米,安检通过

5.如果没有车票不允许进门


  • 看下面的code
# 定义布尔变量 `has_ticket` 表示是否有火车票
has_ticket = True
# 定义整型变量 `knife_length` 表示刀的长度,单位:厘米
knife_length = 30
if has_ticket:
    # 有车票
    print("有车票")
    if knife_length > 20:
        print("您携带的刀子长度是 %ld,超过20里面,不允许您上车" % knife_length)
    else:
        print("安检通过")
else:
    print("没有车票,无法进行乘车")


四、if 语句的综合运用:剪刀石头布


  • 4.1、随机数(下面的综合运用会涉及到)
  • Python 中,要使用随机数,首先要导入 随机数模块 -- “工具包”
import random
  • 在导入模块后,可以直接在 模块名称 后面敲一个 . 然后按 tab 键,会提示该模块中包含的所有函数
  • random.randint(a,b) ,返回   [a,b] 之间的整数,包含 ab
  • 例如:


random.randint(3,10)     # 生成的随机数n: 3<= n <= 20
random.randint(10,10)   # 结果永远是 10
random.randint(10,3)     # 该语句是错误的,下限必须小于上限
  • 4.2、需求:


1.从控制台输入要出的拳--石头(1)、剪刀(2)、布(3)

2.电脑 随机 出拳

3.比较胜负

4.胜利的标准石头 胜 剪刀剪刀 胜 布布 胜 石头

# 注意:在导入工具包的时候,应该导入的语句,放在文件的顶部,
# 因为这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具
import random
# 定义玩家的变量
player = int(input("请输入要出的拳--石头(1)、剪刀(2)、布(3): "))
# 电脑出的拳
computer = random.randint(1,3)
print("玩家出的 %d 电脑出的 %d" % (player,computer))
# 玩家赢的可能是  石头:剪刀; 剪刀:布 ; 布:石头
if (player==1 and computer == 2) or (player==2 and computer == 3) or (player==3 and computer == 1):
    print("欧耶,电脑弱爆了")
elif player == computer:
    print("真是心有灵犀,再来一局吧")
else:
    print("我不服,再来")

注意:大家可以看到上面的if后面的语句很长,可加个括号如下:

if (player==1 and computer == 2) or (player==2 and computer == 3) or (player==3 and computer == 1):
     print("上面太长了")

改过后如下:(两头加括号,在or前面按回车)

if ((player==1 and computer == 2) 
        or (player==2 and computer == 3)  # 前面相对于上一行有 8 个空格
        or (player==3 and computer == 1)):


目录
相关文章
|
6月前
|
消息中间件 分布式计算 监控
Python面试:消息队列(RabbitMQ、Kafka)基础知识与应用
【4月更文挑战第18天】本文探讨了Python面试中RabbitMQ与Kafka的常见问题和易错点,包括两者的基础概念、特性对比、Python客户端使用、消息队列应用场景及消息可靠性保证。重点讲解了消息丢失与重复的避免策略,并提供了实战代码示例,帮助读者提升在分布式系统中使用消息队列的能力。
219 2
|
6月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析入门:基础知识与必备工具
【4月更文挑战第12天】Python是大数据时代数据分析的热门语言,以其简单易学和丰富库资源备受青睐。本文介绍了Python数据分析基础,包括Python语言特点、数据分析概念及其优势。重点讲解了NumPy、Pandas、Matplotlib、Seaborn和Scikit-learn等必备工具,它们分别用于数值计算、数据处理、可视化和机器学习。此外,还概述了数据分析基本流程,从数据获取到结果展示。掌握这些知识和工具,有助于初学者快速入门Python数据分析。
136 2
|
5月前
|
设计模式 开发者 Python
探索Python中的异步编程:从基础知识到实践应用
【6月更文挑战第6天】本文旨在深入探讨Python中的异步编程概念,包括其背后的原理、常用的库和框架以及如何在实际项目中应用这些知识。文章将通过具体的代码示例和场景分析,帮助读者理解异步编程在提升程序性能和处理并发任务中的重要性。
|
6月前
|
Python
【Python操作基础】——if语句用法
【Python操作基础】——if语句用法
Python控制流:条件语句(if, elif, else)
本文详细介绍了Python条件语句的使用方法,包括if、elif和else,以及条件表达式和多条件判断。通过一个综合详细的例子,我们展示了条件语句在实际编程中的应用。希望本文对您理解和应用Python条件语句有所帮助。
|
4月前
|
存储 人工智能 数据挖掘
十分钟学习Python基础知识
Python是一种高效、易学且功能强大的编程语言,广泛应用于数据分析、人工智能、Web开发等领域。如果你是编程新手,想要快速入门Python,那么这篇文章将是你的最佳选择。我将在十分钟内带你了解Python的基础知识。
|
5月前
|
索引 Python
Python考试基础知识
Python考试基础知识
|
5月前
|
关系型数据库 MySQL 数据库
探索Python中的异步编程:从基础知识到高级应用
【6月更文挑战第8天】随着技术的进步,异步编程已经成为现代软件开发中不可或缺的一部分。本文将深入探讨Python中的异步编程,包括其基础知识、常用库和框架,以及一些高级应用。我们将通过实例来展示如何有效地使用异步编程来提高程序的性能和响应性。无论你是初学者还是经验丰富的开发者,这篇文章都会为你提供有价值的见解和技巧。
54 2
|
5月前
|
存储 关系型数据库 API
探索Python中的异步编程:从基础知识到实际应用
【6月更文挑战第6天】在本文中,我们将深入探讨Python中的异步编程,这是一种强大的编程技术,可以帮助我们更有效地处理并发任务。我们将从基础知识开始,然后逐步深入到实际应用,包括异步I/O操作、异步Web请求和异步数据库操作等。最后,我们将通过一个实际的项目案例,展示如何在Python中使用异步编程来提高程序的性能和效率。
|
4月前
|
语音技术 数据安全/隐私保护 Python
语音识别---数据输入(input语句),布尔类型和比较运算符,if语句的基本格式,Python通过空格缩进来判断代码块的归属关系,我要买票吗讲解?if_elif_else
语音识别---数据输入(input语句),布尔类型和比较运算符,if语句的基本格式,Python通过空格缩进来判断代码块的归属关系,我要买票吗讲解?if_elif_else