python for else语法

背景

今天遇到一段代码,如下:逻辑是很简单.在card_list列表中查找指定的name,如果查到了就输出,直接break跳出循环,如果一直查不到,就输出没有此人.if else大家都知道,但是for else之前没听过,也没用过,在其他高级语言中也没有for else. else中的内容会用另一个if来代替.所以学习了下python中独有的for else.
在这里插入图片描述

介绍

for else ; while else 是python中独有的.作用是for循环中if条件一直不满足,则最后就执行else语句。
http://book.pythontips.com/en/latest/for_-_else.html 查看官方文档介绍

举个例子:

for i in range(5):
    if i == 1:
        print 'in for'
else:
    print 'in else'

print 'after for-loop'


# in for
# in else
# after for-loop

但我们发现if条件在循环的过程中成立了,最终还是执行了else语句里的内容,这是为什么呢?
好的,我们这时看下面这段程序:

for i in range(5):
    if i == 1:
        print 'in for'
        break
else:
    print 'in else'

print 'after for-loop'


# in for
# after for-loop

我们在if里添加了一个break,这是因为else是在for后执行的,但只有for循环正常退出时才会执行else语句(不是由break结束循环)。而当循环是由break语句中断时,else就不被执行。

for/else等效于下面这段代码:

found = False
for i in range(5):
    if i == 1:
        found = True
        print 'in for'
if not found:
    print 'not found'

print 'after for-loop'


# in for
# after for-loop

与for语句相似,while语句中的else子句用法是一样的,else块在循环正常结束和循环条件不成立时执行。

Python 中 if-else 语句用于根据条件判断执行不同的代码块,常见的语法结构有以下几种: ### 基本的 if-else 语句 当条件表达式的布尔值为真时,执行 if 语句块中的代码;若为假,则执行 else 语句块中的代码。语法格式如下: ```python if 条件表达式: # 条件为真时执行的代码 代码块1 else: # 条件为假时执行的代码 代码块2 ``` 例如: ```python hi = 6 if hi > 2: if hi > 7: print('好!') else: print(hi) else: print('ok') # 输出:6 ``` 此例中,首先判断 `hi > 2` 为真,进入该 if 语句块,接着判断 `hi > 7` 为假,执行其 else 语句块,输出 `6` [^1]。 ### if-elif-else 语句 当有多个条件需要判断时,可使用 if-elif-else 语句。该语句会依次检查每个条件表达式,一旦某个条件为真,就执行对应的代码块,其余部分不再执行。若所有条件都为假,则执行 else 语句块中的代码。语法格式如下: ```python if 条件表达式1: # 条件1为真时执行的代码 代码块1 elif 条件表达式2: # 条件2为真时执行的代码 代码块2 # 可以有多个 elif 语句 ... else: # 所有条件都为假时执行的代码 代码块n ``` 示例如下: ```python score = 85 if score >= 90: print('优秀') elif score >= 80: print('良好') elif score >= 60: print('及格') else: print('不及格') # 输出:良好 ``` ### 嵌套的 if-else 语句 if-else 语句可以嵌套使用,即在一个 if 或 else 语句块中再包含另一个 if-else 语句。语法格式如下: ```python if 条件表达式1: # 条件1为真时执行的代码 if 条件表达式2: # 条件2为真时执行的代码 代码块1 else: # 条件2为假时执行的代码 代码块2 else: # 条件1为假时执行的代码 代码块3 ``` 例如: ```python num = 15 if num % 2 == 0: if num % 3 == 0: print('该数既能被2整除,也能被3整除') else: print('该数能被2整除,但不能被3整除') else: if num % 3 == 0: print('该数能被3整除,但不能被2整除') else: print('该数既不能被2整除,也不能被3整除') # 输出:该数能被3整除,但不能被2整除 ``` ### 注意事项 - 流程控制不可以为空。 - 条件语句使用缩进来表示代码块,同一代码块的缩进必须一致。 - 条件用方括号,不是圆括号 [^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值