python基础06

编程入门 行业动态 更新时间:2024-10-18 14:27:52

python<a href=https://www.elefans.com/category/jswz/34/1770030.html style=基础06"/>

python基础06

Python条件语句IF的语法格式

  • Python条件语句IF简介
    • 单条件判断,及格式
      • 单独if……使用
      • if……else配套使用
    • 多条件判断语句的使用
      • 嵌套语句的使用
      • if……elif……语句的使用
  • python的基本语法要求

Python条件语句IF简介

逻辑判断是计算机执行程序时不可缺少的一个环节,在逻辑用语中有一个比较基础的逻辑判断语式:如果…那么…
python编程语言中提供了if这个语句,if的意思就是如果,恰好契合了刚刚说到的如果…那么…的逻辑判断,那么if具体怎么个用法呢?

单条件判断,及格式

单独if……使用

单独使用if是可以对一个条件进行判断,条件为真时就会逐句执行跟随的指令或者语句,条件为假时结束if语句。

基本格式:

if 条件 :语句1语句2语句3……

简单讲,就是根据设定条件的真和假,来决定要不要执行“语句1、语句2、语句3、……”,可根据图例一加深理解:

设定的条件可以是字符、数字、表达式或者通过逻辑运算符连接的联合语句,

单独的字符、字符串和数字满足之前学习中的约定:空字符串和0为False,任意非空为True。

示例:和电脑猜谜,电脑随机把一件东西放在左手或者右手中,让你去猜。

# 提前给一个随机值提取语句
# 利用ramdom内的choice函数从元组tup里随机取的值赋值给x
import random
tup = ('左手', '右手')
x = random.choice(tup)y = input('我已经放好了,猜猜我把东西放在哪知手里?')# 判断玩家输入的值与电脑随机值是否相同,相同的话打印'恭喜你,猜对了!'
if y == x :print('恭喜你,猜对了!')print("再玩一次吧!!!")

连续运行三次的结果:

我已经放好了,猜猜我把东西放在哪知手里?左手
再玩一次吧!!!

我已经放好了,猜猜我把东西放在哪知手里?左手
再玩一次吧!!!

我已经放好了,猜猜我把东西放在哪知手里?左手
恭喜你,猜对了!
再玩一次吧!!!

也可以稍微再加强一点判断,提示玩家输入的值,只能是:“左手 或 右手”。

import random
tup = ('左手', '右手')
x = random.choice(tup)# 人机交互,输入猜测答案
y = input('我已经放好了,猜猜我把东西放在哪知手里?')# 用if判断输入的答案是不是'左手' or '右手',if y != '左手' and y != '右手' :print('只能猜“左手”或“右手”,不要乱.')print("再玩一次吧!!!")exit()  # 没有输入左手或右手时,直接终止运行环境,结束程序运行。# 判断玩家输入的值与电脑随机值是否相同,相同的话打印'恭喜你,猜对了!'
if y == x :print('恭喜你,猜对了!')print("再玩一次吧!!!")

连续运行五次的结果:

我已经放好了,猜猜我把东西放在哪知手里?右手
只能猜“左手”或“右手”,不要乱.
再玩一次吧!!!

我已经放好了,猜猜我把东西放在哪知手里?dfg
只能猜“左手”或“右手”,不要乱.
再玩一次吧!!!

我已经放好了,猜猜我把东西放在哪知手里?123
只能猜“左手”或“右手”,不要乱.
再玩一次吧!!!

我已经放好了,猜猜我把东西放在哪知手里?阿斯顿
只能猜“左手”或“右手”,不要乱.
再玩一次吧!!!

我已经放好了,猜猜我把东西放在哪知手里?左手
再玩一次吧!!!

if……else配套使用

通过上述示例,会发现作为if……在使用时主要是用来执行条件为真时的指令,没办法控制执行False时指令。

上例中,第一个if表面看着好像实现了false时的指令执行要求,但其实是利用if语句结束后,还会顺序执行后边指令来完成的。

这就不是很方便。

这时有了与if配套的else指令:

基本格式:

if 条件 :语句1……
else :语句2……

简单讲,就是根据设定条件的真和假,可以做选择了:是执行语句1,还是执行语句2,所以

if……else语句,可以称为条件判断后的可选择执行型语句。

过程可看图理解:

按照图中所示,根据条件判断,语句A和语句B两者间,A、B之间只执行其中一个,是二选一的关系:

  • 执行A,就不会执行B
  • 执行B,就不会执行A

上文中与电脑玩猜谜游戏的示例,可以改成if……else的语句执行:

import random
tup = ('左手', '右手')
x = random.choice(tup)# 人机交互,输入猜测答案
y = input('我已经放好了,猜猜我把东西放在哪知手里?')# 用if判断输入的答案是不是'左手' or '右手',# if y != '左手' and y != '右手' :
#     print('只能猜“左手”或“右手”,不要乱.')
#     print("再玩一次吧!!!")
#     exit()if y == '左手' or y == '右手':bo = x == y
else :print('只能猜“左手”或“右手”,不要乱.')print("再玩一次吧!!!")exit()# 判断玩家输入的值与电脑随机值是否相同,相同的话打印'恭喜你,猜对了!'
if bo == True :print('恭喜你,猜对了!')else :print(f'很遗憾,没猜对!东西被我放在{x}里!')print("再玩一次吧!!!")

运行结果(略),没做大的改动和优化,就是把else增加进去.

自己学习比对后觉得:增加了猜错时的单独输出。(关于这一点需求,如果不用else,只用if实现是比较麻烦的)

更简单的实现方式看后文

多条件判断语句的使用

嵌套语句的使用

嵌套的意思就像是套娃一样的一层套一层,层层叠加,与其说是中语句不如说是种指令应用的方法。

好像是建议嵌套的层数最好不要太多,具体是否暂时不确定,因为是自学的有些遗漏和经验没有老师教啊,慢慢来。

但我觉得应该是对的,因为我想起了开始学习Python时的两句格言:

Simple is better than complex. #简单胜于复杂

Flatt is better than nested. #扁平比嵌套好

综合一下:猜谜游戏,再改改:

import random
tup = ('左手', '右手')
x = random.choice(tup)# 人机交互,输入猜测答案
y = input('我已经放好了,猜猜我把东西放在哪知手里?')# 外层if判断输入的答案是否符合要求,只能是'左手' or '右手',
# 内层if判断是否猜对
if y == '左手' or y == '右手':if x == y :print('恭喜你,猜对了!')else :print(f'很遗憾,没猜对!东西被我放在{x}里!')
else :print('只能猜“左手”或“右手”,不要乱.')print("再玩一次吧!!!")

if……elif……语句的使用

老规矩还是先学习它的语法格式:

if 条件1 :语句1
elif 条件2 :语句2
elif 条件3 :语句3
……
elif 条件n :语句nelse:   #可以不要,也可以要语句(else)        

这种语句使用的是一种扁平的方式,来对所给条件进行一一排查,按先后顺序进行所给条件的判断,如果判断为假就往后继续进行条件判断,直至判断为真时输出对应语句后结束。

如果所给的全部条件都为假,则结束。

就像你拿着一窜钥匙,去开一扇门,在不知道具体是哪把钥匙时,你只能一把钥匙一把钥匙的去尝试,直到找到能开门的那把钥匙为止。

看图理解:

至此,我们的猜谜游戏,又可以做一些修改,改为if……elif……的语句

import random
list1 = ('左手', '右手')
x = random.choice(list1)# 人机交互,输入猜测答案
y = input('我已经放好了,猜猜我把东西放在哪知手里?')# 逐句判断条件,当遇到真时输出对应语句,结束。if y != '左手' and y != '右手' :print('只能猜“左手”或“右手”,不要乱.')
elif y == x:print('恭喜你,猜对了!')
else:print(f'很遗憾,没猜对!东西被我放在{x}里!')print("再玩一次吧!!!")

运行结果:略

看起来,简洁的多。

每种语法应该都有其突出的特点和更适用的时候,不要厚此薄彼就对了,学习中我的一大体会就是多看、多想、多比较。

python的基本语法要求

学习到这,不得不说一下python的语法规则,不难发现在本文中的代码书写中,有些地方代码前会留有部分空白,或者你在使用编辑器敲打代码时换行回车,编辑器也会自己帮你在下一行里缩进一段空白,这是为什么呢?

  1. 是为了排版整洁,便于阅读,但这不是最重要的
  2. 重要的是这种空白缩减是Python的规范语法之一

我以一种从属关系的方式去理解它

比如:我设定一个主语句if a > 100,那么当满足条件时执行的语句叫从属语句print(a),python中规定从属语句不能与主语句对齐,而且必须相较主语句往后缩进一定的空白,习惯上我们缩进的空白是四个英文符号状态下的空格,或者键盘上一个tab的距离

所以,代码的样子就成我们大家看到的这种

if a > 100print(a)

print作为if的从属语句,往后缩进了四个空格。

所以,在敲打python代码时,一定要注意敲打语句的从属关系,并按规范缩进。

更多推荐

python基础06

本文发布于:2024-03-15 08:17:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1738468.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!