首页 > 编程语言 >python For - Else

python For - Else

时间:2023-02-24 21:22:42浏览次数:37  
标签:python 从句 else break range 循环 print Else

循环是任何语言的一个必备要素。同样地,for循环就是Python的一个重要组成部分。然而还有一些东西是初学者并不知道的。我们将一个个讨论一下。

我们先从已经知道的开始。我们知道可以像这样使用for循环:

fruits = ['apple', 'banana', 'mango']
for fruit in fruits:
    print(fruit.capitalize())

# Output: Apple
#         Banana
#         Mango

 

这是一个for循环非常基础的结构。现在我们继续看看,Python的for循环的一些鲜为人所知的特性。

else从句

for循环还有一个else从句,我们大多数人并不熟悉。这个else从句会在循环正常结束时执行。这意味着,循环没有遇到任何break. 一旦你掌握了何时何地使用它,它真的会非常有用。我自己对它真是相见恨晚。

有个常见的构造是跑一个循环,并查找一个元素。如果这个元素被找到了,我们使用break来中断这个循环。有两个场景会让循环停下来。 - 第一个是当一个元素被找到,break被触发。 - 第二个场景是循环结束。

现在我们也许想知道其中哪一个,才是导致循环完成的原因。一个方法是先设置一个标记,然后在循环结束时打上标记。另一个是使用else从句。

这就是for/else循环的基本结构:

for item in container:
    if search_something(item):
        # Found it!
        process(item)
        break
else:
    # Didn't find anything..
    not_found_in_container()

 

考虑下这个简单的案例,它是我从官方文档里拿来的:

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(n, 'equals', x, '*', n/x)
            break

 

它会找出2到10之间的数字的因子。现在是趣味环节了。我们可以加上一个附加的else语句块,来抓住质数,并且告诉我们:

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print( n, 'equals', x, '*', n/x)
            break
    else:
        # loop fell through without finding a factor
        print(n, 'is a prime number')

 



   

标签:python,从句,else,break,range,循环,print,Else
From: https://www.cnblogs.com/zuochuang/p/17153191.html

相关文章

  • python lambda表达式
    lambda表达式是一行函数。它们在其他语言中也被称为匿名函数。如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样。Lambda表达式......
  • IDApython
    IDApython里面常用的函数指令importidc#对ea所在地址进行反汇编,得到汇编指令字符串idc.GetDisasm(ea)#获取上一条指令地址,返回int类型idc.prev_head(ea)#获取下......
  • python正则表达式替换所有内容并同时保留找到的内容
    除了一些专业的工具,例如ue,大部分变成语言的函数包都挺让人迷惑的。因为的确有许多功能是很常用的,但是他们又不提供,非得要程序员自己去实现,或者是利用三方的包.例如我们会......
  • Mac 创建Python3虚拟环境
    Mac创建Python3虚拟环境1、安装virtualenvpip3installvirtualenv安装virtualenvwrapperpip3installvirtualenvwrapper创建所以.virtualenvs的隐藏文件夹存......
  • #Python基础 DateFrame 查看数据信息
    一:导入案例数据及X-MIND 二:实例 2.1显示摘要信息  2.2显示描述性统计信息   2.3显示前后n行  2.4显示索引、列信息  2.5显示每列的数据类......
  • python Gui编程工具详解:beeware
    各个gui开发工具对比Flexx:可以使用Flexx创建桌面应用程序和web应用程序,同时可以将程序导出到独立的HTML文档中,GitHub推荐Kivy&BeeWare:只需编写一套代码便可轻松运行于......
  • python Mqtt 的安装及使用
     简介&安装MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛.可以以极少的代码和有限的带......
  • RGB2HSV Python
    RGB2HSVPythonfromskimageimportcolorimportmatplotlib.pyplotaspltimportcv2img=cv2.imread('low-light.jpg')print(img.shape)plt.figure(num='astrona......
  • python 冰墩墩
     1.python,turtles以下为代码:importturtle#设置一个画布turtle.setup(800,600)turtle.speed(10)#画左手和手内turtle.penup()turtle.goto(177,112)turt......
  • Python学习笔记--网络通信--socket
    1.socket里面的,AF_INET和AF_UNIX有什么区别?AF_INET用于真实的两台机器进行通信。AF_UNIX用于本地自己跟自己通信。参考资料:http://www.langdebuqing.com/  2.soc......