• 关于Python中的for循环控制语句


    #第一个:求 50 - 100 之间的质数

    import math
    for i in range(50, 100 + 1):
        for j in range(2, int(math.sqrt(i)) + 1):
            if i % j == 0:
                break
        else:
            print i

    #第二个:把else的位置与if处于同一缩进。

    import math
    for i in range(50, 100 + 1):
        for j in range(2, int(math.sqrt(i)) + 1):
            if i % j == 0:
               break
            else:
               print i

    #第三个:在else后加一个break语句。

    import math
    for i in range(50, 100 + 1):
        for j in range(2, int(math.sqrt(i)) + 1):
            if i % j == 0:
                break
            else:
                print i
                break

    ###idea###

    for语句是python中的循环控制语句。可用来遍历某一对象,还具有一个附带的可选的else块,主要用于处理for语句中包含的break语句。

    如果for循环未被break终止,则执行else块中的语句。

    break 在需要时终止for循环

    continue 跳过位于其后的语句,开始下一轮循环。

    for语句的格式如下:

    >>>for <> in <对象集合>:

    ...    if <条件>:

    ...        break

    ...    if <条件>:

    ...        continue

    ...    <其他语句>

    ...else:

    ...    <>

    ...

    #关于第一个程序
    在这里,我解释一下为何导入math模块:导入math模块就是为了开方。
    如果导入了math模块,然后对 i 进行开方,可以减少运算次数。
    求一个数是否质数。只需对它进行这样的运算:
        将这个数n,循环与 2 到 这个n的开平方 进行相除
    如果这个区间内的所有整数不能整除n,则n为质数。
    这样,就节省了运算 ‘大于n的开平方 小于n’ 之间这段运算的时间。
    第二,我解释一下那‘+1’:
    int(math.sqrt(i)) 输出的是比 i的开平方 小 的最大整数。
        比如说:math.sqrt(51) 结果比7大一点,而 int(math.sqrt(51)) 输出的是7
    而且在range(m, n)这里,range()函数产生的是一个从 m至n-1的整数列表,因而需要‘+1’,使运算完整。

      顺便提一下range()函数。

        range([start,] stop [, step])

        # start  可选参数,起始数

        #stop   终止数,如果 range 只有一个参数x,则产生一个包含 0 至 x-1 的整数列表

        #step   可选参数,步长

    #第二个程序

    else那行不对,如果else放在那个地方的话,一旦有某个数遇到不能整除自己的数,就会输出i,直道找到一个整除自己等于0的数。那样就会连续输出这个数。
    例如:i = 77,他不是质数,但是也会连续输出5次77,懂不?

  • 相关阅读:
    填坑!!!virtualenv 中 nginx + uwsgi 部署 django
    树的遍历与递归
    Python 函数的参数
    virtualbox安装增强功能时【未能加载虚拟光盘】
    深入理解Python中的生成器
    Genymotion下载慢或者下载失败的解决办法
    Python3 多线程的两种实现方式
    Java 多线程
    关于"裁员与面试"的个人感悟吧
    三、由简单对象组装复杂实例的模式:建造者模式
  • 原文地址:https://www.cnblogs.com/LWK5100/p/14265364.html
Copyright © 2020-2023  润新知