python基础学习笔记5:if选择判断结构和三目运算符

本文详细介绍了Python中的if选择判断结构,包括基本语法、应用场景和案例分析,如年龄判断、考试成绩合格等。进一步讲解了if...else...结构、if...elif...else多条件判断以及if嵌套结构,并通过实例演示了如何实现石头剪刀布游戏。最后,提到了Python的三目运算符,用于简化if...else...语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

if选择判断结构

if选择判断结构作用

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

应用场景

  • 如果年龄大于等于18岁,则可以正常上网。
  • 如果笔试成绩高于60分,则可以顺利得到学分。

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

if 条件判断:
    则执行某段代码... # 注意语句块的缩进
    
print()

案例代码

if True:
    print('条件成立执行的代码1')
    print('条件成立执行的代码2')

#下方的代码没有缩进到if语句块,所以和if条件无关
print('我是无论条件是否成立都要执行的代码')

if选择结构案例

需求

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

案例1

直接定义判断,进行条件判断

age = 18
if age >= 18:
    print('满足18岁要求,可以正常上网')

案例2

上网吧案例升级版,输入年龄,再进行判断。

age = int(input('请输入您的年龄:'))
if age >= 18:
    print('满足18岁要求,可以正常上网')

if选择原理图

学编程除了会写代码还不行,还要回画图(流程图)
在这里插入图片描述

if…else…结构

基本语法

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

案例3

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

age = int(input('请输入您的年龄:'))
if age >= 18:
    print('满足18岁要求,可以正常上网')
else:
    print('不满足18岁要求,回家好好学习,天天向上')

if…else…结构原理图
在这里插入图片描述

if…elif…else多条件判断结构

  • 如果条件1成立,则执行语句段1
  • 如果条件2成立,则执行语句段2
  • 当所有条件都不成立时,则执行else语句段中的内容
if 条件判断1:
    如果此条件为True,则执行这个语句段
elif 条件判断2:
    如果此条件为True,则执行这个语句段
elif ...:
    ...
else:
    如果以上所有条件判断都不满足时,则执行这个语句段

案例

  1. 中国合法工作年龄为18-60岁,即如果年龄小于18的情况为童工,不合法;
  2. 如果年龄在18-60岁之间为合法工龄;
  3. 大于60岁为法定退休年龄。
# 定义一个变量,接收用户输入的年龄
age = int(input('请输入您的年龄:'))
if age < 18:
    print('你还是一个童工,回去好好学习')
elif age >= 18 and age <=60:
    print('合法工龄,可以正常工作')
elif age > 60:
    print('您已经达到了退休年龄,回家好好休息')
else:
    print('信息输入有误,请重新输入')

可以简写为:

# 定义一个变量,接收用户输入的年龄
age = int(input('请输入您的年龄:'))
if age < 18:
    print('你还是一个童工,回去好好学习')
elif age <= 60:
    print('合法工龄,可以正常工作')
elif age > 60:
    print('您已经达到了退休年龄,回家好好休息')
else:
    print('信息输入有误,请重新输入')

if多重条件判断原理图
在这里插入图片描述

if嵌套结构

基本语法

if 外层条件判断:
    # 如果条件为True,则执行以下语句段
    if 内层条件判断:
        # 如果内层条件为True,则执行以下语句段
else:
    # 如果条件为False,则执行以下语句段

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

案例

  • 外层条件①,是否有钱,有钱可以上车。
  • 内层条件 ② 判断是否有空座位,如果有,则可以坐下。
"""
根据条件(是否有钱)判断是否可以上车
money = 0 没钱
money = 1 有钱
"""
money = 1
seat = 0
if money == 1:
    # 有钱,可以上车
    print('有钱,可以上车')
    # if嵌套(seat = 1代表有空座,seat = 0代表没有空座)
    if seat == 1:
        # 有座位,可以坐下
        print('有座位,可以坐下')
    else:
        # 没有座位,只能站着回家了
        print('没有座位,只能站着回家了')
else:
    # 没钱,只能走路回家了
    print('没钱,只能走路回家了')

综合案例:石头剪刀布

需求分析

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

  • 玩家:player(玩家手工输入石头、剪刀、布)
  • 电脑:computer(随机出拳)

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

  • 玩家赢
    • player:石头 赢 computer:剪刀
    • palyer:剪刀 赢 computer:布
    • player:布 赢 computer:石头
  • 平局:只要player 与 computer出拳相等,就代表平局
  • 电脑赢:如果不满足以上两个条件,则电脑获胜!

未知知识点

如何让计算机随机出拳 => 随机

代码实现

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('电脑获胜')

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

随机出拳

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

  • import导入模块
  • 通过模块.方法()调用相关功能

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

import random #导入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('电脑获胜')

三目运算符

什么是三目运算符

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

基本语法

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

三目运算符

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

三目运算符案例

需求

输入两个数值,返回最大值

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}')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少儿编程乔老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值