4 if判断

判断

开发中的应用场景

生活中的判断几乎是无所不在的,我们每天都在做各种各样的判断,如果这样?如果那样?

判断的定义
  • 如果条件满足,才能做某件事情
  • 如果条件不满足,就做另一件事情,或者什么都不做

正是因为有了判断,才使得程序世界丰富多彩,充满变化

判断语句又被成为“分支语句”,正因为有了判断,才让程序有了很多分支

if 语句体验
if 语句的基本语法
if 要判断的条件:
	条件成立时,要做的事情
	......
else:
	条件不成立时,要做的事情
	......
if 判断语句演练

需求:

  1. 定义一个整数变量记录年龄
  2. 判断是否满18岁
  3. 如果满了18岁,就可以进网吧
age = 16
if age >= 18:
    print("恭喜你,可以进入网吧")
else:
    print("不能进入")

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

判断年龄改进版

需求:

  1. 用户输入年龄
  2. 判断是否满18岁
  3. 如果满18岁,允许进网吧
  4. 如果未满18岁,就提示回家写作业
age = int(input("请输入你的年龄:"))
if age >= 18:
    print("可以进入网吧")
else:
    print("请回家写作业")
逻辑运算

Python 中的逻辑运算符包括:与 and/or/not 三种

and
条件1 and 条件2
  • 与/并且

  • 两个条件同时满足,返回True

  • 只要有一个不满足,就返回False

    条件1条件2结果
    成立成立成立
    成立不成立不成立
    不成立成立不成立
    不成立不成立不成立
or
条件1 or 条件2
  • 或/或者
  • 两个条件只要有一个满足,返回True
  • 两个条件都不满足,返回False
条件1条件2结果
成立成立成立
成立不成立成立
不成立成立成立
不成立不成立不成立
not
not 条件
  • 非/不是
条件结果
成立不成立
不成立成立
if 语句进阶
elif
  • 在开发中使用 if 可以判断条件
  • 使用 elif 可以处理条件不成立的情况
  • 但是如果希望再增加一些条件,条件不同,需要执行的代码也不同时,就可以使用 elif
  • 语法格式如下
if 条件1:
	条件1满足执行的代码
	...
elif 条件2:
	条件2满足时,执行的代码
	...
elif 条件3:
	条件3满足时,执行的代码
	...
else:
	以上都不满足时,执行的代码
	...
  • 对比逻辑运算的代码

    if 条件1 and 条件2:
    	条件1满足 并且 条件2满足 执行的代码
    	...
    
  1. elifelse 都必须和 if 联合使用,而不能单独使用
  2. 可以将 ifelifelse 以及各自缩进的代码、看成一个完整的代码块

elif演练

需求:

  1. 定义一个变量 holiday_name 字符串变量记录节日名称
  2. 如果是情人节,买玫瑰/看电影
  3. 如果是平安夜,买苹果/吃大餐
  4. 如果是生日,买蛋糕
  5. 如果是其他节日,去旅游
holiday_name = input("请输入节日的名称:")
if holiday_name == "情人节":
    print("买玫瑰")
    print("看电影")
elif holiday_name == "平安夜":
    print("买苹果")
    print("吃大餐")
elif holiday_name == "生日":
    print("买蛋糕")
else:
    print("去旅游")
if嵌套
  • 在开发中,使用if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用if的嵌套

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

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

  • 语法格式如下

if 条件1:
    条件1满足执行的代码
    ......
    if 条件2:
        条件2满足执行的代码
        ......
    else:
    	条件2不满足执行的代码
    	......
else:
    条件1不满足执行的代码
    ......

if嵌套演练 – 火车站安检

需求:

  1. 定义布尔型变量has_ticket 表示是否有火车票
  2. 定义整型变量 knife_length 表示刀的长度,单位:cm
  3. 首先检查是否有车票,如果有,才允许进行安检
  4. 安检时,需检查刀的长度,判断是否超过20cm
    - 如果超过20cm提示刀的长度,不允许上车
    - 如果不超过20cm就提示,安检通过
  5. 如果没有车票,不允许进门
has_ticket = True
knife_length = 20
if has_ticket:
    if knife_length > 20:
        print("刀的长度超20cm,不可以上车")
    else:
        print("安检通过")
else:
    print("您没有火车票不可以进门")

综合演练

石头剪刀布

需求:

  1. 从控制台输入要出的拳-----石头(1) / 剪刀(2) / 布(3)
  2. 从电脑随机出拳
  3. 比较胜负

先假设电脑只会出石头进行演练

player = int(input("请输入要出的拳: 石头(1) / 剪刀(2) / 布(3):"))
computer = 1
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("电脑获胜")
    
要想让电脑随机出拳就:
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("电脑获胜")
随机数的处理
  • python 中要使用随机数,首先需要导入随机数的模块 – 工具包
inport random
  • 导入模块后,可以直接在模块名称后面敲一个. 然后按 tab 键,会提示该模块中包含的所有函数
  • random.randint(a,b),返回 [a,b] 之间的整数,包含 ab
  • 例如:
random.randint(12,20)	# 生成的随机数n: 12>=n<=20
random.randint(20,20)	# 生成的永远是20
random.randint(30,20)	# 该语句是错误的,下限必须小于上限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值