【Python】Python学习笔记(三)条件语句

news/2024/12/2 22:57:14/

条件语句

Python中的条件语句与c/cpp基本无异。

if语句

基本结构见以下代码。
Python使用缩进控制if/else语句之间的嵌套关系。

#判断两数是否相等。a = int(input('a:'))
b = int(input('b:'))if a == b:print('Same')
else:print('No Same')

elif

代替了cpp中“else if”的写法,用缩进控制if/else语句的之间的嵌套关系,使得程序结构更加清晰。

#A progame has the ability to identify zero, positive number and negative number.n = int(input('integer:'))if n>0:print('positive number')
elif n==0:print('zero')
else:print('nagetive number')

Python中没有switch语句。

pass语句

占位的一个语句,没有实际作用,该语句不会执行,有点像Java里面的TODO标识。
与continue的区别:pass后的语句仍然会执行,而在循环中continue之后的语句均不会执行。

n = int(input('integer:'))if n>0:print('integer')
elif n==0:pass
else:print('negative')

逻辑运算符

x and y:如果x为真,则结果为y求值后的结果;如果x为假,则结果为x的值。
x or y:如果x为真,则结果为x的值,如果x为假,则结果为y求值后的结果
not x:如果x为真,则结果为False,如果x为假,则结果为True。
与cpp的&&等逻辑运算符不大一样。
区别:c/cpp的逻辑运算结果为真和假,python的逻辑运算结果(and和or)为表达式中某一项的值。
共性:均采用短路求值的原理。
在这里插入图片描述
利用Python的这一语法特性,可以写一些花里胡哨的代码(个人觉得可读性很差)。

a = int(input('integer a:'))
b = int(input('integer b:'))c = b != 0 and a % b
print(c, end='...')if c:print('a不能被b整除。')
else:print('b等于0或者a能被b整除。')

这段代码运用了短路求值的原理。
如果b为0,则其不能作为除数,那么b!=0这一项为假,根据短路求值的原理,and后语句不会执行,and表达式返回b!=0的结果为False,在下面的if语句时会执行else代码片。
如果b不等于0,则执行and后语句a%b,and表达式返回a%b的值,即返回a除以b的余数。如果余数为0,则c为0,视为False,下方的代码执行else代码片,如果余数不为0,则c的值为余数,视为True,执行if语句。
这里有一个小知识点:

  • False、0、0.0、None、空值视为假。
  • 除了上述之外的值和True视为真。

条件运算符

x if y else z

如果y为真,则该表达式的值为x,否则为z。
比较一下cpp中的条件运算符

a ? b : c

如果a为真,则表达式的值为b,否则为c。
个人还是喜欢c/cpp的写法,更加简洁~(PS:也可能单纯是写习惯了)

n = int(input('整数:'))print('该值为:' + '正数' if n > 0 else '零' if n == 0 else '负数')

这是一个实例,进行了条件运算符的嵌套。
但是实际上嵌套多了可读性会很差,不如写if/else语句。

多层嵌套if语句

Python中使用缩进来控制if语句的嵌套结构。

n = int(input('正整数:'))if n > 0:if n % 2 == 0:print('该值为正偶数。')else:print('该值为正奇数。')
else:print('输入的值不为正数。')

http://www.ppmy.cn/news/53108.html

相关文章

Basics of Container Isolation 容器隔离的实现原理

目录 容器隔离的实现原理 1. 使用cgroups实现资源隔离 自定义一个cgroup 设置进程的内存使用 启动一个docker 容器,观察cgroup的创建情况 2. 使用Namespaces进行资源分区 namespace继承关系引发的问题 3. 结合来使用Namespaces 和chroot 4. 结论 参考文档…

supervisor安装

说明 Supervisor翻译过来是监管人,在Linux中Supervisor是一个进程管理工具,当进程中断的时候Supervisor能自动重新启动它。可以运行在各种类Linux/unix的机器上,supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通…

[Daimayuan] 倒数第n个字符串(C++,进制)

给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L L L,从 L L L 个 a a a 开始,以 1 1 1 为步长递增。例如当 L L L 为 3 3 3 时,序列为 a a a , a a b , a a c , . . . , a a z ,…

让我看看你们公司的代码规范都是啥样的?

大厂面试题分享 面试题库 前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 我这里提供一份我自己在使用的项目代码规范,当然我这里比较简陋,有…

从0搭建Vue3组件库(六):前端流程化控制工具gulp的使用

随着前端诸如webpack,rollup,vite的发展,gulp感觉似乎好像被取代了。其实并没有,只不过它从台前退居到了幕后。我们仍然可以在很多项目中看到它的身影,比如elementplus、vant等。现在gulp更多的是做流程化的控制。 比如…

2023年能源与环境工程国际会议(CFEEE 2023)

会议简介 Brief Introduction 2023年能源与环境工程国际会议(CFEEE 2023) 会议时间:2023年9月1日-3日 召开地点:中国三亚 大会官网:CFEEE 2023-2023 International Conference on Frontiers of Energy and Environment Engineering 由三亚纵横…

单例模式的四种创建方式

前言 单例模式是日常开发中最常见的一种设计模式,常用来做为池对象,或者计数器之类的需要保证全局唯一的场景。 单例模式的目的是保证在整个程序中只存在一个对象实例,使用单例一个前提条件就是构造器私有化,不允许通过new 对象…

Side Window Filtering 边窗滤波

原理分析 通常用常规图像算法做检测类的算法需要将图像特征增强,其中就需要滤波,把噪点去掉,如果直接用滤波,像高斯滤波,中值滤波,均值滤波等等,不仅会把噪点过滤掉,也会把图像的一些…