Python的如果否则 [英] Python For If Else

查看:1432
本文介绍了Python的如果否则的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  for i in [ 0,2,4]:
if i%2 == 0:
print i
else:
print没有偶数#

那么编码这种结构的最好方法是什么?

想法是运行else语句代码,如果if语句永远不会通过for循环的所有迭代变为真实的

解决方案

代码无法正常工作,因为 if else 未打开同一级别的范围。然而,Python中有一个 for ... else 语法,你可能试图使用它。有关这方面的信息,请参阅 此处 STRONG> 。要使用 for ... else 语法,你需要在 break 语句> for 循环。如果中断,那么 else 不被调用,否则在循环完成后调用 else 。然而,如果你没有 break 语句,那么 else


$ b

这是你的代码,更正: c $ c $ for i in [0,2,4]:
if i%2 == 0:
print i
break
else:
print没有偶数#

只要循环遇到偶数,循环就会中断。否则,如果循环完全执行(即遍历整个列表),那么它也将运行 else 。仅供参考,这里是循环的奇数:

  for i in [1,3,5]: 
if i%2 == 0:
print i
break
else:
print没有偶数#


I just realized that this code does not work the way I hoped it would worked...

for i in [0,2,4]:
    if i%2==0:
        print i
else:
    print "There are no EVEN #s"

So what's the best way of coding this sort of structure

The idea is to run the "else" statement code if the "if" statement never becomes true through all the iterations of the "for" loop

解决方案

The code doesn't work as you would like it to because the if and else are not on the same level of scope. However, there is a for...else syntax in Python that you were perhaps trying to use. For information on that, see here. To use the for...else syntax, you need to have a break statement inside the for loop. If it breaks, then the else is not called, otherwise the else be called after the loop is done.

However, if you don't have a break statement, then else always runs.

Here is your code, corrected:

for i in [0,2,4]:
    if i%2==0:
        print i
        break
else:
    print "There are no EVEN #s"

As soon as the loop encounters an even number, the loop breaks. Otherwise, if the loop would fully execute (i.e. go through the entire list), then it would also run the else. Just for reference, here is the loop on a list of odd numbers:

for i in [1,3,5]:
    if i%2==0:
        print i
        break
else:
    print "There are no EVEN #s"

这篇关于Python的如果否则的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆