1开发中的应用场景
生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……
程序中的判断:
# if 今天发工资:
# 先还信用卡的钱
# if 有剩余:
# 又可以happy了,O(∩_∩)O哈哈~
# else:
# 噢,no。。。还的等30天
# else:
# 盼着发工资
i = int(input('今天发工资了吗(1是 2不是):'))
if i == 1:
print('先还信用卡')
i = int(input('钱够吗(1够 2不够):'))
if i==1:
print('又可以happy了,O(∩_∩)O哈哈~')
else:
print('噢,no。。。还的等30天')
else:
print('盼着发钱')
今天发工资了吗(1是 2不是):1
先还信用卡
钱够吗(1够 2不够):1
又可以happy了,O(∩_∩)O哈哈~
2 if的基本使用
2.1 if 判断语句基本语法
在 Python 中,if 语句 就是用来进行判断的,格式如下:
if 要判断的条件:
条件成立时,要做的事情
……
判断年龄示例:
需求
- 定义一个整数变量记录年龄
- 判断是否满 18 岁 (>=)
- 如果满 18 岁,允许进网吧嗨皮
age = int(input('输入你的年龄:'))
if age >=18:
print('允许进网吧嗨皮')
输入你的年龄:20
允许进网吧嗨皮
2.2 else 处理条件不满足的情况
在使用 if 判断时,只能做到满足条件时要做的事情。如果需要在不满足条件的时候,做某些事情就需要使用else。
if 要判断的条件:
条件成立时,要做的事情
……
else:
条件不成立时,要做的事情
……
Tip:if 和 else 语句以及各自的缩进部分共同是一个 完整的代码块
改进判断年龄示例:
需求
- 定义一个整数变量记录年龄
- 判断是否满 18 岁 (>=)
- 如果满 18 岁,允许进网吧嗨皮
- 不满足18岁,回家写作业吧
age = int(input('输入你的年龄:'))
if age >=18:
print('允许进网吧嗨皮')
else:
print('回家写作业')
输入你的年龄:5
回家写作业
3.if多重判断
elif:
- 在开发中,使用 if 可以 判断条件
- 使用 else 可以处理 条件不成立 的情况
- 但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同 时,就可以使用elif
- 语法格式如下:
if 条件1:
条件1满足执行的代码
……
elif 条件2:
条件2满足时,执行的代码
……
elif 条件3:
条件3满足时,执行的代码
….
else:
以上条件都不满足时,执行的代码
……
需求
- 定义 holiday_name 字符串变量记录节日名称
- 如果是 情人节 应该 买玫瑰/看电影
- 如果是 平安夜 应该 买苹果/吃大餐
- 如果是 生日 应该 买蛋糕
- 其他的日子每天都是节日啊……
holiday_name = '圣诞节'
if holiday_name == '情人节':
print('买玫瑰 /看电影')
elif holiday_name == '平安夜':
print('买苹果/吃大餐')
elif holiday_name == '生日':
print('买蛋糕')
else:
print('每天都是节日啊……')
if条件的写法
if 条件中可以使用逻辑运算符
条件1 and 条件2
条件1 or 条件2
not 条件
演练:
需求:
输入年龄进行判断;
小于18岁输出雇佣童工,违法;
大于18小于60岁,输出合法工人;
大于60岁,输出雇佣老年人,违法了。
age =int(input('输入年龄'))
if age <18:
print('雇佣童工,违法')
elif (age>=18) and (age <=60):
print('合法工人')
else:
print('雇佣老年人,违法了')
运行结果:
输入年龄66
雇佣老年人,违法了
输入年龄15
雇佣童工,违法
输入年龄20
合法工人
4 if 的嵌套
- 在开发中,使用 if 进行条件判断,如果希望 在条件成立的执行语句中 再 增加条件判断,就可以使用 if 的嵌套
- f 的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断
- if 的嵌套 的语法格式,除了缩进之外 和之前的没有区别
- 语法格式如下:
if 条件 1:
条件 1 满足执行的代码
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
# 条件 2 不满足的处理
else:
条件 2 不满足时,执行的代码
# 条件 1 不满足的处理
else:
条件1 不满足时,执行的代码
if 的嵌套 演练 —— 火车站安检
需求
- 定义布尔型变量 has_ticket 表示是否有车票
- 定义整型变量 knife_length 表示刀的长度,单位:厘米
- 首先检查是否有车票,如果有,才允许进行 安检
- 安检时,需要检查刀的长度,判断是否超过 20 厘米如果超过 20 厘米,提示刀的长度,不允许上车如果不超过 20 厘米,安检通过
- 如果没有车票,不允许进门
示例:
has_ticket = True
if has_ticket:
knife_length = int(input('刀的长度,单位:厘米: '))
if knife_length >20:
print('刀的长度为%d,不允许上车'%knife_length)
else:
print('安检通过')
else:
print('不允许进门')
5 三目运算符
为了方便代码书写,而利用if语句的运算方法
三目运算符:三元运算符或者三元表达式
语法格式:
变量名 = 条件成立表达式 if 条件else 条件不成立表达式
a=1
b=2
c= a if a<b else b
print(c) # 1
#输入俩个变量,如果变量1大于变量2执行 1-2否则执行 2-1
aa=10
bb=6
cc=aa-bb if aa>bb else bb-aa
print(cc) # 4
6 综合应用 —— 石头剪刀布
目标:
- 强化 多个条件 的 逻辑运算
- 体会 import 导入模块(“工具包”)的使用
- 提示:random随机数的包
- random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b
需求
- 从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3)
- 电脑 随机 出拳 —— 先假定电脑只会出石头,完成整体代码功能
- 比较胜负
其中 0:石头 1:剪刀 2:布
序号 | 规则 |
---|---|
1 | 石头 胜 剪刀 0胜1 |
2 | 剪刀 胜 布 1胜2 |
3 | 布 胜 石头 2胜0 |
import random
print('游戏规则:其中 0:石头 1:剪刀 2:布')
user = int(input('玩家输入你要出的拳:'))
computer = random.randint(0,2)
print('电脑玩家出拳%d'%computer)
if (user==0 and computer==1) or (user==1 and computer==2) or (user==2 and computer==0):
print('玩家获胜')
elif user ==computer:
print('平局')
else:
print('电脑获胜')
为了方便看到电脑随机出的数字这里用print打印出来
游戏规则:其中 0:石头 1:剪刀 2:布
玩家输入你要出的拳:2
电脑玩家出拳0
玩家获胜
游戏规则:其中 0:石头 1:剪刀 2:布
玩家输入你要出的拳:1
电脑玩家出拳1
平局