Python基础(5)判断语句

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 要判断的条件:
	条件成立时,要做的事情    
	……

判断年龄示例:
需求

  1. 定义一个整数变量记录年龄
  2. 判断是否满 18 岁 (>=)
  3. 如果满 18 岁,允许进网吧嗨皮
age = int(input('输入你的年龄:'))
if age >=18:
    print('允许进网吧嗨皮')

输入你的年龄:20
允许进网吧嗨皮

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

在使用 if 判断时,只能做到满足条件时要做的事情。如果需要在不满足条件的时候,做某些事情就需要使用else。

if 要判断的条件:    
	条件成立时,要做的事情    
	……
else:  
	条件不成立时,要做的事情    
	……

Tip:if 和 else 语句以及各自的缩进部分共同是一个 完整的代码块
改进判断年龄示例:
需求

  1. 定义一个整数变量记录年龄
  2. 判断是否满 18 岁 (>=)
  3. 如果满 18 岁,允许进网吧嗨皮
  4. 不满足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:    
	以上条件都不满足时,执行的代码    
	……

需求

  1. 定义 holiday_name 字符串变量记录节日名称
  2. 如果是 情人节 应该 买玫瑰/看电影
  3. 如果是 平安夜 应该 买苹果/吃大餐
  4. 如果是 生日 应该 买蛋糕
  5. 其他的日子每天都是节日啊……
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 的嵌套 演练 —— 火车站安检
需求

  1. 定义布尔型变量 has_ticket 表示是否有车票
  2. 定义整型变量 knife_length 表示刀的长度,单位:厘米
  3. 首先检查是否有车票,如果有,才允许进行 安检
  4. 安检时,需要检查刀的长度,判断是否超过 20 厘米如果超过 20 厘米,提示刀的长度,不允许上车如果不超过 20 厘米,安检通过
  5. 如果没有车票,不允许进门
    示例:
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 综合应用 —— 石头剪刀布

目标:

  1. 强化 多个条件 的 逻辑运算
  2. 体会 import 导入模块(“工具包”)的使用
  3. 提示:random随机数的包
  4. random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b

需求

  1. 从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3)
  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
平局

发布了27 篇原创文章 · 获赞 5 · 访问量 495

猜你喜欢

转载自blog.csdn.net/qq_43685242/article/details/104676769