Python的判断语句

目标

  • 条件语句的作用
  • if语法
  • if…else…
  • 多重判断
  • if嵌套
    如果某些条件满足,才能做某件事情;条件不满足时,则不能做,这就是所谓的判断。
    不仅是生活中有,在软件开发中“判断”功能也经常会用到。

一. if语法

1.1 if判断语句基本格式介绍

  • if语句是用来进行判断的,满足条件执行特定的代码,其使用格式如下:
if 要判断的条件:
	条件成立时,要做的事情

代码示例:

if False:
 print('条件成⽴执⾏的代码1')
 print('条件成⽴执⾏的代码2')
# 注意:在这个下⽅的没有加缩进的代码,不属于if语句块,即和条件成⽴与否
print('这个代码执⾏吗?')

简单例子

# 需求:
# 定义年龄age变量,年龄⼤于等于18,输出:已经成年,可以上⽹
age = 20
if age > 18:
    print("已经成年,可以上网")
# 需求:
# ⽤户⼿动输⼊的年龄为字符串类型,⽆法直接与数字进⾏直接⽐较
# 所以联系前⾯所学过的知识,将字符串类型的数据进⾏强制转
# 换之后再和数字进⾏⽐较。
age = int(input("请输入您的年龄:"))
if age >= 18:
    print("您已经成年,可以上网")

1.2 if语句使用逻辑运算

在程序开发中,执⾏结果可能和多个条件有关,⽐如多个条件都成⽴才能执⾏,或者有⼀个条件成⽴就可以执⾏,这时就需要使⽤逻辑运算符 ,逻辑运算符可以把多个条件按照逻辑进⾏连接,变成更复杂的条件。

# 需求:
# 输⼊年龄age,编写代码判断年龄是否正确,要求⼈的年龄在 0-120 之间
age = int(input("请输入您的年龄"))
if age >= 0 and age <= 120:
    print("您输入的年龄正确")

1.3 if…else…

1.3.1 if-else的使用语法
 if 条件:
 满⾜条件时要做的事情1
 满⾜条件时要做的事情2
 满⾜条件时要做的事情3
 ...(省略)...
 else:
 不满⾜条件时要做的事情1
 不满⾜条件时要做的事情2
 不满⾜条件时要做的事情3
 ...(省略)...
# if else的使用
# 需求:
# 输⼊年龄,如果年龄⼤于等于18岁,可以上⽹,否则提示⼩朋友回家写作业去
age = int(input("请输入您的年龄:"))
if age >= 18:
    print(f"您的年龄是{age},已经成年,可以上网")
else:
    print(f"您的年龄是{age},不符合上午要求")

1.4 多重判断elif

elif的使用格式如下:

if xxx1:
 事情1
elif xxx2:
 事情2
elif xxx3:
 事情3

说明:

  • 当xxx1满⾜时,执⾏事情1,然后整个if结束
  • 当xxx1不满⾜时,那么判断xxx2,如果xxx2满⾜,则执⾏事情2,然
    后整个if结束
  • 当xxx1不满⾜时,xxx2也不满⾜,如果xxx3满⾜,则执⾏事情3,然
    后整个if结束
# if elif else的使用
"""
需求:
    如果年龄⼩于18,为童⼯,不合法;
    如果年龄18-60岁之间,为合法⼯作年龄
    如果年龄⼤于60为退休年龄
"""
age = int(input("请输入您的年龄:"))
if age < 18:
    print(f"您的年龄是{age},小于18岁,为童工,不合法")
elif age >= 18 and age <= 60:
    print(f"您的年龄是{age},为合法工作年龄")
elif age > 60:
    print(f"您的年龄是{age},你该退休了")
print(f"祝您生活愉快!")
"""
需求:
⽤户⼿动输⼊⼀个分数score,判断这个分数如果在90(包含90)以上,那么输
如果这个分数在75(包含75)和90之间,那么输出“良好”;
如果这个分数在60(包含60)以上,那么输出“及格”;
如果这个分数在60⼀下,那么输出“不及格”。
"""
score = int(input("请输入您的成绩:"))
if score >= 90:
    print("优秀")
elif score >= 75 and score < 90:
    print("良好")
elif score >=60 and score < 75:
    print("及格")
else:
    print("不及格")

1.5 if嵌套

坐⽕⻋或者地铁的实际情况是:先进⾏安检如果安检通过才会判断是否有⻋票,或者是先检查是否有⻋票之后才会进⾏安检,即实际的情况某个判断是再另外⼀个判断成⽴的基础上进⾏的,这样的情况该怎样解决呢?

1.5.1 if嵌套的格式
if 条件1:
    满⾜条件1 做的事情1
    满⾜条件1 做的事情2
    
    if 条件2:
        满⾜条件2 做的事情1
        满⾜条件2 做的事情2
  • 说明
    • 外层的if判断,也可以是if-else
    • 内存的if判断,也可以是if-else
    • 根据世纪开发的情况,进行选择
1.5.2 if嵌套的应用
# if嵌套的使用
"""
坐公交:如果有钱可以上车,没钱不能上车;上车后如果有空座,则可以坐下;如果没空座,就要站着。怎么书写程序?
"""
money = int(input("请输入您的余额:"))
seat = input("是否有座位:")

if money > 1:
    print("余额充足,请上车")
    if seat == "有":
        print("有座位,可以坐着了")
    else:
        print("没有座位,先站一会吧")
else:
    print("余额不足,请充值")
"""
编程实现:
提示⽤户输⼊⽤户名,如果⽤户名不为“admin”,则提示“⽤户名错误”,程序停止运行
如果⽤户名是"admin",然后再提示输⼊密码:如果密码正是“123456”,则提你已经登陆系统,密码不正确则提醒⽤户名与密码不匹配
"""

user = input("请输入用户名:")

if user == "admin":
    password = int(input("请输入您的密码:"))
    if password == 123456:
        print("密码正确,您已经登陆系统")
    else:
        print("用户名与密码不匹配")
else:
    print("用户名错误")
"""
需求
1. 输⼊布尔型变量 has_ticket 表示是否有⻋票
2. 输⼊整型变量 knife_length 表示⼑的⻓度,单位:厘⽶
3. ⾸先检查是否有⻋票,如果有,才允许进⾏ 安检
4. 安检时,需要检查⼑的⻓度,判断是否超过 20 厘⽶
   果超过 20 厘⽶,提示⼑的⻓度,不允许上⻋
   如果不超过 20 厘⽶,安检通过
5. 如果没有⻋票,不允许进⻔
"""
has_ticket = input("是否已购票:")
if has_ticket == "是":
    print("请配合安检")
    knife_length = int(input("管制刀具的长度为:"))
    if knife_length > 20:
        print("携带不合规的管制刀具,不允许上车")
    else:
        print("安检通过,可以乘车")

else:
    print("您没有购票,请先购票")
1.5.3 if嵌套执行流程图

在这里插入图片描述

1.6 三目运算符

三目运算符也叫三元运算符或三元表达式
语法如下:
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式

'''
三目运算符语法如下:
条件成立执行的表达式	if 条件 else 条件不成立执行的表达式
'''
a = 1
b = 2

c = a if a > b else b
print(c)

"""
需求: 有两个变量,比较大小 如果变量1 大于 变量2 执行 变量 1 - 变量2; 否则 变量2 - 变量1
"""
x = 5
y = 10

z = x - y if x > y else y - x
print(z)

1.7 案例

1.7.1 需求
  1. 从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
  2. 电脑 随机 出拳 —— 先假定电脑只会出⽯头,完成整体代码功能
  3. ⽐较胜负
1.7.2 目标
  1. 强化 多个条件 的 逻辑运算
  2. 体会 import 导⼊模块(“⼯具包”)的使⽤
1.7.3 代码
"""
需求
1. 从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
2. 电脑 随机 出拳 —— 先假定电脑只会出⽯头,完成整体代码功能
3. ⽐较胜负
4. 导入随机模块包 让电脑随机出拳
"""
user = int(input("请输入要出的拳:"))
# computer = int(input("电脑出的拳为:"))
computer = random.randint(1,3)  # 用random模块,使电脑随机出拳
print(f"电脑出的拳为:{computer}")
if user == 1 and computer == 2 or user == 2 and computer == 3 or user == 3 and computer == 1:
    print("恭喜玩家胜利!")
elif user == computer:
    print("平局")
else:
    print("很遗憾,电脑胜利!")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值