python初学火车座位判断_Python学习第三课 判断(if)语句

判断(if)语句

目标

● if 语句体验

● if 语句进阶

● 综合应用

01. if 语句体验

1.1 if 判断语句基本语法

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

if 要判断的条件:

条件成立时,要做的事情

注意

代码缩进为 tab键,或者是四个空格

● 在Python开发中,Tab键和空格不要混用

1.2 判断语句演练——判断年龄

需求

1.定义一个整数变量记录年龄

2.判断是否慢18岁(>=)

3.如果满18岁,允许进网吧嗨皮

# 1.定义一个整数变量记录年龄

age = 18

# 2.判断是否慢18岁(>=)

if age >= 18:

print("你已经成年,可以进网吧!")

# 3.如果满18岁,允许进网吧嗨皮

注意

● if 语句以及缩进部分为整个代码块

1.3 else处理条件不满足的情况

思考:在使用if判断时,只能做到满足条件时要做的事情。那如果需要在不满足条件时,做某些事情,该如何做?

答案:格式如下:

if 要判断的条件:

条件满足时,要做的事情

else:

条件不满足时,要做的事情

注意

● if 和 else 语句以及各自缩进的部分共同是一个完整的代码块

1.4 判断语句演练——判断年龄的改进

需求

1、输入用户年龄

2、判断是否慢18

3、满18,允许进网吧

4、不满18,提示回家

TIPS:选中要添加注释的文本,Ctrl+/ 可以同时为所有文本逐行添加#注释

# 1、输入用户年龄

age = int(input("请输入年龄:"))

# 2、判断是否慢18

if age >= 18:

# 3、满18,允许进网吧

print("你已成年,可以进网吧!")

else:

# 4、不满18,提示回家

print("未成年回家写作业!")

02.逻辑运算

● 在程序开发中,通常在判断条件时,会需要同时判断多个条件

● 只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符

● 逻辑运算符可以吧多个条件按照逻辑进行连接,变成更复杂的条件

● Python中的逻辑运算符有:与and/或or/非not三种

2.1 and

条件1 and 条件2

● 与/并且

● 两个条件同时满足,返回TRUE

● 只要有一个不满足,返回false

条件1

条件2

结果

成立

成立

成立

成立

不成立

不成立

不成立

成立

不成立

不成立

不成立

不成立

2.2 or

条件1 or 条件2

● 或/或者

● 两个条件只要有一个满足,返回TRUE

● 两个条件均不成立,返回false

条件1

条件2

结果

成立

成立

成立

成立

不成立

成立

不成立

成立

成立

不成立

不成立

不成立

2.3 not

not 条件

● 非/不是

条件

结果

成立

不成立

不成立

成立

逻辑运算演练

1、练习1:定义一个整数变量age,编写代码判断年龄是否正确

● 要求年龄在0~100之间

# 1、练习1:定义一个整数变量age,编写代码判断年龄是否正确

age = int(input("请输入年龄:"))

# 要求年龄在0~100之间

if age >= 0 and age <=100:

print("年龄正常!")

else:

print("年龄不正常!")

2、练习2:定义两个整数变量python_score,c_score,编写代码判断成绩

● 要求只要有一门成绩>60就算合格

# 2、练习2:定义两个整数变量python_score,c_score,编写代码判断成绩

python_score = int(input("请输入Python成绩:"))

c_score = int(input("请输入C语言成绩:"))

# 要求只要有一门成绩>60就算合格

if python_score > 60 or c_score > 60:

print("考试通过!")

else:

print("考试失败!")

3、练习3:定义一个布尔型变量is_employee,编写代码判断是否为本公司员工

● 如果不是不允许入内

# 3、练习3:定义一个布尔型变量is_employee,编写代码判断是否为本公司员工

is_employee = True

# 如果不是不允许入内

if not is_employee:

print("非本公司员工,请勿入内!")

03.if 语句进阶

3.1 elif

● 在开发中,使用 if 可以判断条件

● 使用else可以处理条件不成立的情况

● 但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同时,就要用到elif

● 语法格式如下:

if 条件1:

条件1满足时执行的代码

elif 条件2:

条件2满足时,执行的代码

elif 条件3:

条件3满足时,执行的代码

else:

以上条件都不满足时,执行的代码

● 对比逻辑运算符的代码

if 条件1 and 条件2:

条件1满足且条件2满足执行的代码

注意

1、elif 和else 都必须和if连用,而不能单独使用

2、可以将if、elif、else以及各自缩进的代码,看成一个完整的代码块

elif 演练——女朋友的节日

需求:

1、定义holiday_name字符串变量记录节日名称

2、如果是情人节应该买玫瑰/看电影

3、如果是平安夜应该买苹果/吃大餐

4、如果是生日应该买蛋糕

5、其他的日子每天都是节日啊。。。

holiday_name = str(input("请输入节日:"))

if holiday_name == "情人节":

print("买玫瑰")

print("看电影")

elif holiday_name == "平安夜":

print("买苹果")

print("吃大餐")

elif holiday_name == "生日":

print("买蛋糕")

else:

print("每天都是节日。。。")

3.2 if 的嵌套

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

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

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

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

● 语法格式如下:

if 条件1:

条件1满足执行的代码

if 条件1基础上的条件2:

条件2满足时,执行的代码

# 条件2不满足的处理

else:

条件2不满足时,执行的代码

#条件1不满足时的处理

else:

条件1 不满足时,执行的代码

if嵌套演练——火车站安检

需求:

1、定义布尔型变量has_ticket 表示是否有车票

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

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

4、过安检时,检查刀的长度,判断是否超过20厘米

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

● 不超过,安检通过

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

has_ticket = True

if has_ticket:

print("车票检查通过,准备开始安检!")

knife_length = int(input("请输入刀的长度:"))

if knife_length >= 20:

print("不能通过安检!")

else:

print("安检通过!")

else:

print("没有车票,不允许进入!")

04.综合运用——石头剪刀布

4.1 基础代码实现

目标

1、强化多个条件的逻辑运算

2、体会import 导入模块(“工具包”)的使用

需求

1、从控制台输入玩家1要出的拳:石头(1)/剪刀(2)/布(3)

2、从控制台输入玩家2要出的拳:石头(1)/剪刀(2)/布(3)

3、比较胜负

序号

规则

1

石头 胜 剪刀

2

剪刀 胜 布

3

布 胜 石头

# 从控制台输入玩家1要出的拳-石头(1)/剪刀(2)/布(3)

player1 = int(input("请输入玩家1要出的拳-石头(1)/剪刀(2)/布(3):"))

# 从控制台输入玩家1要出的拳-石头(1)/剪刀(2)/布(3)

player2 = int(input("请输入玩家2要出的拳-石头(1)/剪刀(2)/布(3):"))

print("玩家1选择的拳是 %d - 玩家2选择的拳是 %d " % (player1,player2))

# 比较胜负

if ((player1 == 1 and player2 == 2)

or (player1 == 2 and player2 == 3)

or (player1 == 3 and player2 == 1)):

print("玩家1获胜!")

elif ((player1 == 1 and player2 ==3)

or (player1 == 2 and player2 == 1)

or (player1 == 3 and player2 == 2)):

print("玩家2获胜!")

else:

print("平局!")

4.2 随机数的处理

● 在Python中,要使用随机数,首先需要导入随机数的模块——“工具包”

import random

● 导入模块后,可以直接在模块名称后面敲一个 . ,然后按Tab键,会提示该模块中包含的所有函数

● random.randint(a,b),返回【a,b】之间的整数,包含a,b

● 例如:

random.randint(12,20)#生成的随机数n:12<=n<=20

random.randint(20,20)#结果永远是20

random.randint(20,18)#该语句是错误的,下限必须小于上限

4.3 代码改进

使玩家2 的出拳由电脑随机给出

# 导入随机工具包

import random

# 从控制台输入玩家1要出的拳-石头(1)/剪刀(2)/布(3)

player1 = int(input("请输入玩家1要出的拳-石头(1)/剪刀(2)/布(3):"))

# 从控制台输入玩家1要出的拳-石头(1)/剪刀(2)/布(3)

player2 = random.randint(1,3)

print("玩家1选择的拳是 %d - 玩家2选择的拳是 %d " % (player1, player2))

# 比较胜负

if ((player1 == 1 and player2 == 2)

or (player1 == 2 and player2 == 3)

or (player1 == 3 and player2 == 1)):

print("玩家1获胜!")

elif ((player1 == 1 and player2 == 3)

or (player1 == 2 and player2 == 1)

or (player1 == 3 and player2 == 2)):

print("玩家2获胜!")

else:

print("平局!")

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值