Python条件语句IF的语法格式

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

Python条件语句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之路七条件判断语句if的基本语法与应用相关推荐

  1. Python中if条件判断语句怎么用?

    俗话说"不积跬步无以至千里".学习了Python的基本语法后,接下来我们学习Python常的if条件判断语句. if语句是最简单的条件判断语句,它可以控制程序的执行流程,其使用格式 ...

  2. Python中if条件判断语句的用法!

    俗话说"不积跬步无以至千里".学习了Python的基本语法后,接下来我们学习Python常的if条件判断语句. if语句是最简单的条件判断语句,它可以控制程序的执行流程,其使用格式 ...

  3. Python编程 条件判断语句

    作者简介:一名在校计算机学生.每天分享Python的学习经验.和学习笔记.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.条件判断(掌握) 1.条件判断介绍 2. ...

  4. if 条件判断语句的用法

    一.三种条件判断语句 在python中,有三种条件判断语句,分别是单向条件判断语句(if...),双向条件判断语句(if...else...)和多向条件判断语句(if...elif...elif... ...

  5. 在python中要表示一个空的代码块可以使用空语句什么_Python条件判断语句if

    Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 > 程序在一般情况下是按顺序执行的,就像流水账一样,一条一条从上往下顺序 ...

  6. python 条件语句判断连续三个数,Python_3_流程控制语句:条件判断语句(if语句),循环语句,嵌套...

    第三章 流程控制语句 简介 Python代码在执行时是按照自上向下顺序执行的. 通过流程控制语句,可以改变程序的执行顺序,也可以让指定的程序反复执行多次 流程控制语句分成两大类:条件判断语句,循环语句 ...

  7. python且条件_Python条件判断语句 if

    程序在一般情况下是按顺序执行的,就像流水账一样,一条一条从上往下顺序执行. 有时候我们需要根据条件来有选择地执行某些语句,这就要使用到Python的条件判断语句--if. 我们可以通过下图来简单了解条 ...

  8. python条件语句-Python中条件判断语句的简单使用方法

    最简单的条件语句: if expression: expr_true_suite 如上,if是关键字,expression是条件表达式,条件表达式支持多重条件判断,可以用布尔操作符and.or和not ...

  9. python判断语句_python条件判断语句if elif else使用

    假设网站现在有100个充值用户,现在要给充值1000元以上的大客户返现,那么就需要在程序里进行判断.这就用到了条件判断语句. 一.if语句 1.if语句长相: if条件表达式: 满足条件时要做的事情1 ...

最新文章

  1. 直播时代:让IOS普通开发者一天内做出一个RTMP直播客户端,并且带有美艳直播功能。(文章最下面有github源码地址)...
  2. 试除法的妙用【O(√N) 复杂度】
  3. 花了一天精选了20多篇好文,只为与你分享
  4. vue中如何在地图中标点…
  5. Homebrew OS X 不可或缺的套件管理器
  6. 操作系统之计算机系统概述:2、操作系统的特点(并发、共享、虚拟、异步)
  7. python全局变量怎么删除_python 全局变量怎么改
  8. php简介及其发展,PHP 简介
  9. 智乃买瓜(another version)(DP+逆向思维)
  10. CAN BUS原理理解
  11. HM16.9 提取CU depth,cu partition可视化
  12. Bitmap毛边问题
  13. 计算机深度睡眠状态啥意思,什么是计算机的“深度睡眠”模式?
  14. Verilog学习:ICE40UP5K_PICO按键点灯
  15. 阿里云培训-OSS(对象存储)
  16. 嘟嘟牛app算法hook
  17. 解决Please make sure you have the correct access rights and the repository exists 问题
  18. Android 基础知识4-3.8 SeekBar(拖动条)详解
  19. PS网页设计教程XV——如何在Photoshop中创建一个充满活力的作品集的网页设计
  20. VSCode配置格式化工具(Prettier/Vetur/ESLint)和jsconfig.json

热门文章

  1. BUUCTF_Crypto_keyboard
  2. 知识付费五大发展趋势,行业迎来爆发性增长
  3. 夜游项目如何打造独特的游玩体验
  4. mysql主码和外码能一样吗_主码、候选码、外部码之间的联系与区别
  5. Windows 10开发教程_编程入门自学教程_菜鸟教程-免费教程分享
  6. 【我的第一本人生规划手册】读后感
  7. labview自动保存报表_Labview的office报表自动生成
  8. 1篇文章看懂峰值带宽、流量、转码、连麦、截图五大直播计费方式
  9. PAT乙级练习: 1046 划拳
  10. 快捷导航shortcut部分做法二(85)