python if多条件并列判断的三种方法
如果使用python的if进行多个条件表达式的判断呢?下面介绍三种方法:
- 使用and或or来连接多个条件表达式,比如条件1 and 条件2 and条件3等等,当使用and连接多个表达式时,只要其中一个表示式为False,则if的条件为False,否则为True,相反,or连接的表达式中,只要有一个表达式为True,则if的条件为True,否则为False;
- and和or的混合使用,二者的优先级按前后顺序执行;
- 使用比较运算符,比如 1<=x >=2;
if多条件并列判断实例代码
>>> if True and True and False:
... print("True")
...
>>> if False or False or True:
... print("True")
...
True
>>> if True and False or True:
... print("True")
...
True
>>> if True and False or False:
... print("True")
...
>>> if 1 < 2 < 3:
... print("True")
...
True
一、for 循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
1、for 循环的语法格式
for 循环语法格式
2、for 循环,也叫遍历、迭代的实现逻辑:以列表为例,从索引为0开始取值,直至取出全部的值,循环结束
for循环的实现逻辑
3、对字典使用for循环:取到值默认是所有的key;取字典中所有的值:for v in dic.values();取字典中所有的键和值:for k,v in dic.items(),在获取所有的键和值时若使用单个变量接收的话得到的是结果元组,了解即可
对字典使用for循环
4、多重for循环之列表嵌套列表一:在执行第一个for循环之后会进入第二个for循环,在第二个for循环完成之后第一轮循环才真正结束,开始进入第二轮的循环
列表嵌套列表循环一
5、多重for循环之列表嵌套列表二:
列表嵌套for循环二
6、多重for循环打印图形:
多重for循环
内置函数range():
1、传一个参数:默认从0开始,参数值代表终止位置的值,不包含这个参数值,如:
内置函数range()
2、传两个参数:第一个参数代表起始位置,第二个参数代表终止位置(左闭右开)
3、传三个参数:第一个参数代表起始位置,第二个参数代表终止位置,第三个参数代表步长(左闭右开)
end = '':打印的最后一行添加end = '' 表示不换行
7、使用for循环打印九九乘法表
for循环打印九九乘法表
\t:水平制表符,个人理解就是相当于按一下键盘上的tab键
一、while循环嵌套
1.1 应用场景
故事概述:上一篇我们说了女朋友生气了,惩罚我们说3遍“媳妇⼉, 我错了”,这个程序是不是循环即可?但如果⼥朋友说:还要刷今天晚饭的碗,这个程序怎么书写?
while 条件:
print('媳妇⼉, 我错了')
print('刷晚饭的碗')
但如果女朋友还是生气,把这套惩罚要连续3天都执⾏,有如何书写程序?
while 条件:
while 条件:
print('媳妇⼉, 我错了')
print('刷晚饭的碗')
1.2 语法
while 条件1:
条件1成⽴执⾏的代码
......
while 条件2:
条件2成⽴执⾏的代码
......
所谓while循环嵌套,就是一个while里面嵌套了一个while的方法,没个while和之前的基础语法都是相同的。
1.3 快速体验:复现场景
代码:
j = 0
while j < 3:
i = 0
while i < 3:
print('媳妇⼉,我错了')
i += 1
print('刷晚饭的碗')
print('⼀套惩罚结束----------------')
j += 1
执行结果:
理解这个流程:
当内部循环执行完成之后,再执行下一次外部循环的条件判断。
二、while循环嵌套应用
2.1 应用一:打印星号(正方形)
需求:
*****
*****
*****
*****
*****
代码:
分析:一行输出5个星号,重复打印5行。
# 重复打印5⾏星星
j = 0
while j <= 4:
# ⼀⾏星星的打印
i = 0
while i <= 4:
# ⼀⾏内的星星不能换⾏,取消print默认结束符\n
print('*', end='')
i += 1
# 每⾏结束要换⾏,这⾥借助⼀个空的print,利⽤print默认结束符换⾏
print()
j += 1
2.2 应用二:打印星号(三角形)
需求:
*
**
***
****
*****
代码:
分析: ⼀⾏输出星星的个数和⾏号是相等的,每⾏:重复打印⾏号数字个星号,将打印⾏星号的命令重 复执⾏5次实现打印5⾏。
# 重复打印5⾏星星
# j表示⾏号
j = 0
while j <= 4:
# ⼀⾏星星的打印
i = 0
# i表示每⾏⾥⾯星星的个数,这个数字要和⾏号相等所以i要和j联动
while i <= j:
print('*', end='')
i += 1
print()
j += 1
2.3 九九乘法表
执行结果:
代码:
# 重复打印9⾏表达式
j = 1
while j <= 9:
# 打印⼀⾏⾥⾯的表达式 a * b = a*b
i = 1
while i <= j:
print(f'{i}*{j}={j*i}', end='\t')
i += 1
print()
j += 1