zl程序教程

您现在的位置是:首页 >  Python

当前栏目

【Python】З 种基本结构之「判断」

2023-02-18 16:23:32 时间

?write in front?   ?大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流? ?2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家 & 阿里云星级博主~掘金⇿InfoQ创作者~周榜99»总榜1184? ?本文由 謓泽 原创 CSDN首发?如需转载还请通知⚠  ?个人主页-謓泽的博客_CSDN博客? ?欢迎各位→点赞? + 收藏⭐️ + 留言?​ ?系列专栏-【Python】系列_謓泽的博客-CSDN博客? ✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本? 

【Python】З 种基本结构之「判断」目录?

?write in front?   

?逻辑控制

?数字逻辑条件

?条件控制

?if - 用法 

?if - else 用法 

?if 嵌套 

?练习题→猜数字小游戏

?说明 

?逻辑控制

逻辑控制其实也就是判断,判断是非常重要的,无论是哪一门语言。没有判断那都是不完整的语言。因此判断是非常重要的。

  • 使用③种基本结构就可以实现复杂算法,这其中就有循环、顺序以及判断

在程序的设计当中,代码并不是逐步按照顺序进行执行的,在运行到某一行代码当中,需要停下进行判断接下来将要运行到那一个分支代码,这种判断就代表的是分支结构。 分支结构是可以使用 if 语句来进行判断的,而我们本篇博客讲的也是 if 语句。 在程序中可能会遇到需要循环出现的情况,例如输入100次Python,那么此时就需要用到循环语句,我们不可能直接打印100次print,这个是极其没有效率。所以,明显是不能的。那么此时就要用到 while、for、range 等。 Python中的逻辑流程控制还包括跳出breal、继续continue、遍历range等语句后面也会详细介绍这些流程控制语句的。


?数字逻辑条件

在正式开始之前来说说数学当中常用的逻辑条件,因为这些逻辑条件很多都会配合条件控制if 去使用。 等于:a == b 不等于:a != b 小于:a < b 小于等于:a <= b 大于:a > b 大于等于:a >= b


?条件控制

条件控制语句在任何编程语言都是非常常用的。 流程图如下↓

​ 打个比方:就比方说你今天早上起来,昨天你学习了一整天,今天想要躺平,但是你看着别人都在那里卷,你又想要学习一整天。此时的你非常的犹豫,你在面前看到了一枚硬币,你就想要扔色子。正面数字是学习,反面❀就躺平。那么在编程当中你就要用到判断语句if了。 接下来来写下Python语句当中 if 的表现形式,如下代码所示 ?

if 条件语句1:
    执行语句1
elif 条件语句:
    执行语句2
else:
    执行语句3

执行过程如下 ? ①→判断条件语句 1 是否为 Ture(真),如果为 Ture 就执行语句块1,其它的语句块并不会执行。因此整个条件结构语句执行完毕。则继续执行其它的语句,如果条件语句1为False(假),则判断条件语句2是否为真。 ②→如果判断条件语句2为 Ture 就执行语句2,再执行其它语句,如果为假,则直接执行语句3,条件控制语句结束。 ?提示→冒号后面的语句块何冒号所在的行的语句是要保持一个缩进的。


?if - 用法 

Python 中的 if else 语句可以细分为三种形式,分别是 if 语句、if else 语句和 if elif else 语句。在上面我们已经介绍了 if elif else,接下来来介绍 if() 这个也是最简单的判断形式了。 流程图如下↓

​ 如果表达式成立(真),就执行后面的代码块;如果表达式不成立(假),就什么也不执行。那么不能光说不练,那么就来做一道题目练习下。选择结构判断用户是否符合条件,示例代码如下↓

num = int(input('请输入你的年龄:'))
if num < 18:
    print('你还不能去网吧!')
    print('年龄未满18岁,才%d岁。'%num)

print('欢迎光临!')

运行结果?  请输入你的年龄:14 你还不能去网吧! 年龄未满18岁,才14岁。 欢迎光临! 另一种情况的运行结果。 请输入你的年龄:18 欢迎光临! 张三此时就有疑问了,为什么输入14还会欢迎光临呢。 那么这种情况我们就要用到 if - else 或者 双层 if 来解决了。 双层 if 语句代码示例↓

num = int(input('请输入你的年龄:'))
if num < 18:
    print('你还不能去网吧!')
    print('年龄未满18岁,才%d岁。'%num)
if num >= 18:
    print('欢迎光临!')

请输入你的年龄:14 你还不能去网吧! 年龄未满18岁,才14岁。 这里使用双层 if 语句是因为我们这里有两层的判断:

  1. 张三满18岁的情况。
  2. 张三未满18岁的情况。

?if - else 用法 

if - else 的表现形式,如下代码所示 ?

if 条件语句1:
    执行语句1
else:
    执行语句2

条件语句为真,执行语句1。 条件语句为假,执行语句2。

  • 如果表达式成立,就执行 if 后面紧跟的代码块1;如果表达式不成立,就执行 else 后面紧跟的代码块2。

流程图如下↓

下面举出一个例子,输入数字 判断 number 是奇数还是偶数。如下代码所示 ?

number = int(input('请输入数字...'))
if number % 2 == 0:
	print('%d是偶数'%(number))
else:
	print('%d是奇数'%(number))

运行结果?  请输入数字...12 12是偶数。 请输入数字...11 11是奇数。 那么接着选择结构判断用户是否符合条件我们用 if else 的方法解决。代码示例如下↓

num = int(input('请输入你的年龄:'))
if num < 18:
    print('你还不能去网吧!')
    print('年龄未满18岁,才%d岁。'%num)
else:
    print('欢迎光临!')

运行结果?  请输入你的年龄:14 你还不能去网吧! 年龄未满18岁,才14岁。 条件语句为真,执行语句1。不执行 else 语句内容。


?if 嵌套 

在我们开发程序当中,会使用 if 进行条件语句的判断,那么假设我们希望在条件成立的执行语句中在增加条件判断。这个时候就可以使用 if 语句的嵌套了。 if 的嵌套的应用场景就是:在之前条件满足的情况下,再来额外的进行判断。 if 的嵌套语法格式,除了缩进之外是没有任何的区别的,语法格式如下所示↓

if 条件1:
    满足条件1执行语句
    ...
    if 条件1基础上的条件2:
        满足条件2执行语句
        ...
    # 条件2不满足情况
    else:
        条件2不满足情况,执行的代码

# 条件1不满足的情况
else:
    条件1不满足的情况执行语句

这实际上就是在大的 if 语句 嵌套了一个小的 if 语句,上面这个多看下就理解了,有语言基础的一遍就能懂了。都一样的(@^0^) 


?练习题→猜数字小游戏

import random() 方法返回随机生成的一个实数。建议要使用这里面的东西放到起始行第一行。 rand(起始数,终止数);功能随机生成数字 0~32767之间。 如下代码所示 ?

import random  # 生成随机值
person = int(input('请输入猜拳[0石头,1剪刀,2布]:...'))
computer = random.randint(0,2)      # rand();功能随机生成数字 0~32767之间
# 打印三种情况
# 人 赢了
if person == 0 and computer == 1:
    print('老铁666')
    pass
elif person == 1 and computer == 2:
    print('老铁666')
    pass
elif person == 2 and computer == 0:
    pass
    print('老铁666')
    pass
# 平手
elif person == computer:
    print('下次一定')
    pass
# 输了
else:
    print('不服再来')

运行时候的三种情况? 赢了:老铁666 平手:下次一定 输了:不服再来

?说明 

"表达式"可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限,只要它能得到一个值就行。不管“表达式”的结果是什么类型,if else 都能判断它是否成立(真或者假)。 "代码块"由具由相同缩进量的若干条语句组成。 if、elif、else 语句的最后都有冒号:不要忘记。