【Python】if选择判断结构详解:逻辑分支与条件判断

小言从不摸鱼 2024-10-26 14:05:01 阅读 70

目录

🍔 if选择判断结构作用

1.1 if选择判断结构的基本语法

1.2 if选择结构案例

1.3 if...else...结构

1.4 if...elif...else多条件判断结构

1.5 if嵌套结构

🍔 综合案例:石头剪刀布

2.1 需求分析

2.2 代码实现

2.3 随机出拳

🍔 三目运算符

3.1 什么是三目运算符

3.2 基本语法

3.3 三目运算符案例

🍔 if选择判断结构作用

在日常开发中,只要有需要进行条件判断的语句基本上都是选择判断结构。

应用场景:

如果年龄大于等于18岁,则可以正常上网。

如果升级考试成绩大于60分,则可以顺利升级就业班。

1.1 if选择判断结构的基本语法

Java:

if (条件判断) {

   则执行某段代码...

}

但是Python中,不需要使用这么多复杂的符号,直接可以编写条件判断及执行某段代码

Python:

if 条件判断:

   则执行某段代码...

   

print()

案例代码:

<code>if True:

   print('条件成立执行的代码1')

   print('条件成立执行的代码2')

# 下方的代码没有缩进到if语句块,所以和if条件无关

print('我是无论条件是否成立都要执行的代码')

1.2 if选择结构案例

需求:定义一个变量age = 18,判断这个变量是否大于等于18岁,如果满足条件,则可以上网。

案例1:直接定义判断,进行条件判断

age = 18

if age >= 18:

   print('满足18岁要求,可以正常上网')

案例2:上网吧案例升级版

age = int(input('请输入您的年龄:'))

if age >= 18:

   print('满足18岁要求,可以正常上网')

if选择原理图:学编程除了会写代码还不行,还要回画图(流程图)

1.3 if...else...结构

基本语法:

if 条件判断:

   当条件判断为True时,则执行这个语句段

else:

   当条件判断为False时,则执行这个语句段

案例3:上网吧案例升级升级版,引入else

<code>age = int(input('请输入您的年龄:'))

if age >= 18:

   print('满足18岁要求,可以正常上网')

else:

   print('不满足18岁要求,回家好好学习,天天向上')

if...else...结构原理图:

1.4 if...elif...else多条件判断结构

如果条件1成立,则执行语句段1

如果条件2成立,则执行语句段2

...

当所有条件都不成立时,则执行else语句段中的内容

if 条件判断1:

   如果此条件为True,则执行这个语句段

elif 条件判断2:

   如果此条件为True,则执行这个语句段

elif ...:

   ...

else:

   如果以上所有条件判断都不满足时,则执行这个语句段

if多重条件判断原理图:

案例:

① 中国合法工作年龄为18-60岁,即如果年龄小于18的情况为童工,不合法;

② 如果年龄在18-60岁之间为合法工龄;

③ 大于60岁为法定退休年龄。

<code># 定义一个变量,接收用户输入的年龄

age = int(input('请输入您的年龄:'))

if age < 18:

   print('你还是一个童工,回去好好学习')

elif age >= 18 and age <=60:

   print('合法工龄,可以正常工作')

else:

   print('您已经达到了退休年龄,回家好好休息')

简写形式:

# 定义一个变量,接收用户输入的年龄

age = int(input('请输入您的年龄:'))

if age < 18:

   print('你还是一个童工,回去好好学习')

elif 18 <= age <= 60:

   print('合法工龄,可以正常工作')

else:

   print('您已经达到了退休年龄,回家好好休息')

1.5 if嵌套结构

基本语法:

if 外层条件判断:

   # 如果条件为True,则执行以下语句段

   if 内层条件判断:

       # 如果内层条件为True,则执行以下语句段

else:

   # 如果条件为False,则执行以下语句段

嵌套结构看起来异常复杂,但是我们在编写时要遵循一个原则:==先编写外层判断,所有语句编写完成后,在编写内层条件判断结构。==

案例:法律规定,车辆驾驶员的血液酒精含量小于 20mg/100ml 不构成酒驾;酒精含量大于或等于 20mg/100ml 为酒驾;酒精含量大于或等于 80mg/100ml 为醉驾。编写 Python 程序判断是否为酒后驾车。

proof = int(input('请输入驾驶员100ml血液中的酒精含量:'))

# 判断proof酒精含量是否小于20mg

if proof < 20:

   print('驾驶员不构成酒驾')

else:

   # 已经构成酒驾 => 两种类型(酒驾与醉驾)

   if proof >= 80:

       print('驾驶员已构成醉驾')

   else:

       print('驾驶员已构成酒驾')

🍔 综合案例:石头剪刀布

2.1 需求分析

参与游戏的角色有两个(玩家 与 电脑),玩家手工出拳,电脑随机出拳,根据石头剪刀布判断输赢。

玩家:player(玩家手工输入石头、剪刀、布)

电脑:computer(随机出拳)

输赢结果很重要,有三种情况:

① 玩家赢

☆ player:石头 赢 computer:剪刀

☆ palyer:剪刀 赢 computer:布

☆ player:布 赢 computer:石头

② 平局

只要player 与 computer出拳相等,就代表平局

③ 电脑赢

如果不满足以上两个条件,则电脑获胜!

未知知识点:如何让计算机随机出拳 => 随机

2.2 代码实现

确认:if...elif...else多条件分支结构

# 第一步:提示输入输入石头剪刀布,0-代表石头,1代表剪刀,2代表布

player = int(input('请输入您的出拳0-代表石头,1代表剪刀,2代表布:'))

# 第二步:电脑随机出拳(后续解决)

computer = 1

# 第三步:根据用户以及计算机的出拳判断输赢

# 什么情况,玩家会赢

# player==0且computer==1 或 palyer==1且computer==2 或 player==2且computer==0

if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player==2 and computer == 0):

print('玩家获胜')

elif player == computer:

print('平局')

else:

   print('电脑获胜')

遗留问题:计算机没办法随机出拳

2.3 随机出拳

Python语言非常的强大,强大之处就在于其拥有很多模块(module),这些模块中拥有很多别人已经开发好的代码,我们可以直接导入到我们的程序中即可使用。

==① import导入模块==

==② 通过模块.方法()调用相关功能==

随机出拳其实就是随机从0,1,2中选出一个数字

import random

# 调用内部封装的方法

computer = random.randint(0, 2)

改进猜拳代码:

import random

# 第一步:提示输入输入石头剪刀布,0-代表石头,1代表剪刀,2代表布

player = int(input('请输入您的出拳0-代表石头,1代表剪刀,2代表布:'))

# 第二步:电脑随机出拳(后续解决)

computer = random.randint(0, 2)

print(computer)

# 第三步:根据用户以及计算机的出拳判断输赢

# 什么情况,玩家会赢

# player==0且computer==1 或 palyer==1且computer==2 或 player==2且computer==0

if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player==2 and computer == 0):

print('玩家获胜')

elif player == computer:

print('平局')

else:

   print('电脑获胜')

🍔 三目运算符

3.1 什么是三目运算符

在Python中三目运算符也叫三元运算符,其主要作用:==就是用于简化if...else...语句。==

3.2 基本语法

if 条件判断:

   # 语句段1

else:

   # 语句段2

转换为三目运算符:

语句段1 if 条件判断 else 语句段2

3.3 三目运算符案例

需求:输入两个数值,返回最大值

num1 = 10

num2 = 20

if num1 > num2:

   print(f'最大值为{num1}')

else:

   print(f'最大值为{num2}')

简化:三目运算符

num1 = 10

num2 = 20

max = num1 if num1 > num2 else num2

print(f'最大值为{max}')

 

💘若能为您的学习之旅添一丝光亮,不胜荣幸💘

🐼期待您的宝贵意见,让我们共同进步共同成长🐼



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。