精华内容
下载资源
问答
  • 循环控制语句 C语言有3种循环 for while do while while循环 我们先来看下while循环,流程图如下: 下来看个小示例 do while循环 流程图如下: 下来看个小示例 两个小示例的运行结果相同。 for循环 流程图如下...

    循环控制语句

    C语言有3种循环

    • for
    • while
    • do while

    while循环

    我们先来看下while循环,流程图如下:
    在这里插入图片描述
    下来看个小示例
    在这里插入图片描述

    do while循环

    流程图如下:
    在这里插入图片描述
    下来看个小示例
    在这里插入图片描述
    两个小示例的运行结果相同。

    for循环

    流程图如下:
    在这里插入图片描述
    for循环的执行大致可分为4个步骤

    • 执行表达式1,只执行一次
    • 计算表示式2的值,看其是否为真(非零),如果为真就执行循环体部分,否则直接退出,执行for循环下面的语句
    • 执行循环体
    • 计算表达式3的值,然后返回步骤2

    接下来看一个for循环的示例
    在这里插入图片描述
    我们用两个for循环嵌套实现了九九乘法表

    条件控制语句

    我们先来看个简单的示例:

    #define _CRT_SECURE_NO_WARNINGS
    
    #include<stdio.h>
    
    int main() {
        
        int score;
        printf("请输入学生的数学成绩:");
        scanf("%d", &score);
        if (score < 60 && score >= 0)
        {
            printf("该学生的数学成绩类别为:差\n");
        }
        else if (score < 70 && score >= 60)
        {
            printf("该学生的数学成绩类别为:及格\n");
        }
        else if (score < 80 && score >= 70)
        {
            printf("该学生的数学成绩类别为:中\n");
        }
        else if (score < 90 && score >= 80)
        {
            printf("该学生的数学成绩类别为:良\n");
        }
        else if (score < 100 && score >= 90)
        {
            printf("该学生的数学成绩类别为:优\n");
        }
        return 0;
    }
    

    在这里插入图片描述
    这个示例中使用了关键字if、else if、else等关键字,即循环语句的关键字,我们来具体看下

    if语句流程图如下
    在这里插入图片描述
    if语句用来判定给定条件是否满足,根据判断结果决定是否执行某个操作。if语句的使用形式如下:
    在这里插入图片描述
    if else语句流程图如下:
    在这里插入图片描述
    多重if语句流程图如下:
    在这里插入图片描述
    这里不多解释了,如有什么不懂可以将示例练习一遍好好琢磨一下,你会觉得Soeasy!

    控制语句示例

    求a,b,c三个数中的最大值?

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    
    int main() {
        int a, b, c;
        int max1, max2;
        a = 8;
        b = 12;
        c = 10;
        if (a>b)
        {
            if (a>c)
            {
                max1 = a;
            }
            else
            {
                max1 = c;
            }
        }
        else
        {
            if (b>c)
            {
                max1 = b;
            }
            else
            {
                max1 = c;
            }
        }
    
        //三元表达式
    
        max2 = a > b ? (a > c ? a : c) : (b > c ? b : c);
        printf("the max number is %d\n", max1);
        printf("the max number is %d\n", max2);
        return 0;
    }
    

    结果
    在这里插入图片描述
    如果您觉得本篇文章对您有帮助,请转发给更多的人
    【C语言中文社区】是一个C语言视频教程、学习笔记、电子书、计算机二级资料等专注于C语言编程学习者的干货知识分享平台,精选深度文章,分享优秀干货类、技能类的学习资源,帮助学习中的你。
    在这里插入图片描述

    展开全文
  • 函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括: 1.条件语句:包括单分支、双分支多分支语句,if-elif-else 2.循环语句:while的使用及简单网络刷博器爬虫 3.循环语句:for的...

            前面讲述了"专题一.函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括:
            1.条件语句:包括单分支、双分支和多分支语句,if-elif-else
            2.循环语句:while的使用及简单网络刷博器爬虫
            3.循环语句:for的使用及遍历列表、元组、文件和字符串

    前言: 语句块

            在讲诉条件语句、循环语句和其他语句之前,先来补充语句块知识.(前面讲函数时已经用到过)
            语句块并非一种语句,它是在条件为真(条件语句)时执行或执行多次(循环语句)的一组语句.在代码前放置空格或tab字符来缩进语句即可创建语句块.很多语言特殊单词或字符(如begin或{)来表示一个语句块的开始,用另外的单词或字符(如end或})来表示语句块的结束.

           而在Python中使用冒号(:)来标识语句块的开始,块中每一个语句都是缩进的(缩进量相同).当回退到和已经闭合的块一样的缩进量时,就表示当前块已经结束.

    一. 条件语句if

            if分支语句表达式基本类型常见的有一下三种:
            1.单分支语句
            它的基本格式是:
                                      if condition:
                                              statement
                                              statement

            需要注意的是Ptthon中if条件语句条件无需圆括号(),条件后面需要添加冒号,它没有花括号{}而是使用TAB实现区分.其中condition条件判断通常有布尔表达式(True|False 0-假|1-真 非0即真)、关系表达式(>= <= == !=)和逻辑运算表达式(and or not).
            2.双分支语句
            它的基本格式是:
                                      if condition:
                                              statement
                                              statement
                                      else:
                                              statement
                                              statement
            3.多分支语句
            if多分支由if-elif-else组成,其中elif相当于else if,同时它可以使用多个if的嵌套.具体代码如下所示:

    #双分支if-else
    count = input("please input:")
    print 'count=',count
    if count>80:
        print 'lager than 80'
    else:
        print 'lower than 80'
    print 'End if-else'
    
    #多分支if-elif-else
    number = input("please input:")
    print 'number=',number
    if number>=90:
        print 'A'
    elif number>=80:
        print 'B'
    elif number>=70:
        print 'C'
    elif number>=60:
        print 'D'
    else:
        print 'No pass'
    print 'End if-elif-else'
    
    #条件判断
    sex = raw_input("plz input your sex:")
    if sex=='male' or sex=='m' or sex=='man':
        print 'Man'
    else:
        print 'Woman'

    二. 循环语句while

            while循环语句的基本格式如下:
                                                             while condition:
                                                                     statement
                                                                     statement
                                                             else:
                                                                     statement
                                                                     statement
            其中判断条件语句condition可以为布尔表达式、关系表达式和逻辑表达式,else可以省略(此处列出为与C语言等区别).举个例子:

    #循环while计数1+2+..+100
    i = 1
    s = 0
    while i <= 100:
        s = s+i
        i = i+1
    else:
        print 'exit while'
    print 'sum = ',s
    
    '''
    输出结果为:exit while
              sum = 5050
    '''

            它的输出结果为5050,当时当i加到101时,由于i>100将执行else语句.
            需要注意的是Python中使用井号(#)表示行注释,使用三引号('''...''')表示多行注释.区别于C/C++的//行注释和/**/多行注释.
      
          下面讲述一段代码刷博器爬虫,先给出代码再讲解:

    import webbrowser as web
    import time
    import os
    i=0
    while i<5:
        web.open_new_tab('http://andy111.blog.sohu.com/46684846.html')
        i=i+1
        time.sleep(0.8)
    else:
        os.system('taskkill /F /IM iexplore.exe')
    print 'close IE'

            在搜狐博客或新浪博客中只要在新窗口打开就会增加浏览访问次数,所以上面的代码主要是通过调用webbrowser浏览器的open_new_tab打开新的窗口,而CSDN不行(估计绑定用户或ip有关).
            上面代码中windoes命令taskkill的作用是杀掉应用程序IE浏览器,在DOS中输入"taskkill /F /IM iexplore.exe"可以强行关闭应用程序(chrome.exe或qq.exe),其中/F表示强行终止程序,/IM表示图像.在该程序中主要的作用是清除内存,防止内存消耗太大出现死机现象;但是需要调用import os的system()函数打开,而Linux下用kill命令(kill -pid或killall)终止进程.


            代码中time.sleep(seconds)表示"Delay execution for a given number of seconds.",从打开到加载有一定时间.
            当你需要大量增加浏览量时可以使用两层循环嵌套,每次打开5个网页在关闭在执行100次,这样你的内存也不会因为消耗太大出现死机现象,也可以使用import random count=random.randint(20,40)产生20到40随机数来执行外层循环.代码比较简单,主要是想通过它介绍些Python的基础知识.但是初次打开IE浏览器会出现打开次数不一致的错误.why?

    三. 循环语句for

            该循环语句的基础格式为:
                                                     for target in sequences:
                                                             statements
            target表示变量名,sequences表示序列,常见类型有list(列表)、tuple(元组)、strings(字符串)和files(文件).
            
    Python的for没有体现出循环的次数,不像C语言的for(i=0;i<10;i++)中i循环计数,Python的for指每次从序列sequences里面的数据项取值放到target里,取完即结束,取多少次循环多少次.其中in为成员资格运算符,检查一个值是否在序列中.同样可以使用break和continue跳出循环.
           
    1.字符串循环

    s1 = 'Eastmount of CSDN'
    for c in s1:
        print c,

            注意:如果在print结尾加上逗号,那么接下来语句会与前一条语句在同一行打印.故上面输出显示一行.
            2.列表循环

    list1 = [1,3,4,5,'x',12.5]
    i = 0
    for val in list1:
        print format(i,'2d'),val
        i = i+1
    else:
        print 'out for'

            注意:列表List由一堆数据用逗号间隔,方括号括起,可以是同类型也可以是不同类型.format(i,'2d')相当于输出两位,不足的补空格.当输出0-9时显示"口0",而输出10-99时显示"10"实现对其功能.输出结果如下:

     1 3
     2 4
     3 5
     4 x
     5 12.5
    out for

            因为迭代(循环另一种说法)某范围的数字是很常用的,所以有个内建的范围函数range供使用.列表中for n in [1,2,3,4,5,6,7,8]相当于listNum=range(1,9).其格式"range(start, stop[, step]) -> list of integers",它的工作方式类似于分片,它包含下限(本例range(1,9)中为1),但不包含上限(本例中9),如果希望下限为0,可以只提供上限如range(4)=[0,1,2,3].
            产生1到100的数字range(1,101),输出1到100的奇数range(1,101,2),输出1到100的偶数range(2,101,2).

           
    3.元组循环

    tup = (1,2,3,4,5)
    for n in tup:
        print n
    else:
        print 'End for'

            元组tuple每个数据项不可修改,只可读,而序列list[1,2,3,4]可以修改.
           
    4.文件循环
            help(file.read)返回一个字符串."read([size]) -> read at most size bytes, returned as a string."
            help(file.readlines)返回一个列表."readlines([size]) -> list of strings, each a line from the file."相当于读n行,由n次readline组成,读出的字符串构成列表.
            help(file.readline)从某个文件读一行."readline([size]) -> next line from the file, as a string."

    #文件循环遍历三种对比
    for n in open('for.py','r').read():
        print n,
    print 'End'
    
    for n in open('for.py','r').readlines():
        print n,
    print 'End'
    
    for n in open('for.py','r').readline():
        print n,
    print 'End'

            输出显示:

    #第一个read()输出:每个字符间有个空格
    s 1   =   ' E a s t m o u n t   o f   C S D N ' 
    f o r   c   i n   s 1 :
    ....
    End
    #第二个readlines()输出:读取的是一行
    s1 = 'Eastmount of CSDN'
    for c in s1:
    ....
    End
    #第三个readline()输出:读取for.py文件第一行并输出
    s 1   =   ' E a s t m o u n t   o f   C S D N '
    End

            如果需要文件输出也可以通过下面代码实现,使用w会覆盖而a+是追加功能,后面讲文件详细叙述.
            for r in open('test.txt','r').readlines():
                    open('test.txt','a+').write(c)
           
    PS:我主要是通过《Python基础教程》和"51CTO学院 智普教育的python视频"学习.所以文中引用了很多视频中的知识、书籍知识和自己的知识,感谢那些作者和老师,希望文章对大家有所帮助,才开始学习python知识,如果文章中有错误或不足之处,还请海涵,也希望大家提出意见与君共勉.勿喷~
            (By:Eastmount 2014-9-22 夜7点 原创CSDN http://blog.csdn.net/eastmount/)

    展开全文
  • Java条件和循环语句

    2018-09-14 08:25:10
    一.选择流程控制 1顺序结构的基本使用 1.1.1顺序结构概述 是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的 ...首先判断关系...

    一.选择流程控制

    1. 1顺序结构的基本使用
    • 1.1.1顺序结构概述

    是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的

    • 1.1.2顺序流程流程图

    1. 2 If语句的格式
    • 1.2.1if语句格式1及执行流程

    if语句第一种格式:

    if(关系表达式) {

                       语句体

    }

    执行流程:

    首先判断关系表达式看其结果是true还是false

    如果是true就执行语句体

    如果是false就不执行语句体

    • 1.2.2if语句格式1执行流程

    • 1.2.3 if语句格式2及流程

    if语句第二种格式:

    if(关系表达式) {

                       语句体1;

    }else {

                       语句体2;

    }

    执行流程

    首先判断关系表达式看其结果是true还是false

    如果是true就执行语句体1

    如果是false就执行语句体2

    • 1.2.4if语句格式2执行流程图

     

    • 1.2.5if语句格式3及流程

      if语句第三种格式:

      if(关系表达式1) {

                         语句体1;

      }else  if (关系表达式2) {

                         语句体2;

      }

          …

      else {

                         语句体n+1;

      }

      执行流程

      首先判断关系表达式1看其结果是true还是false

      如果是true就执行语句体1

      如果是false就继续判断关系表达式2看其结果是true还是false

      如果是true就执行语句体2

      如果是false就继续判断关系表达式…看其结果是true还是false

      如果没有任何关系表达式为true,就执行语句体n+1

     

    • 1.2.6if语句格式3执行流程图

    1. 3 switch语句的格式及执行流程
    • 1.3.1语句格式

     

    switch语句格式:

          switch(表达式) {

                  case 值1:

                              语句体1;

                              break;

                 case 值2:

                                语句体2;

                               break;

                 ...

                 default:

                         语句体n+1;

                        break;

          }

     

     

    • 1.3.2执行流程

     

    首先计算出表达式的值

    其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

    最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

    • 1.3.3 switch语句执行流程图

     

     

    二.循环流程控制语句

    2.1for循环语句格式:

    • 2.1.1 for循环语句格式:

     

    for(初始化语句;判断条件语句;控制条件语句) {

             循环体语句;

    }

    • 2.1.2执行流程

    A:执行初始化语句

    B:执行判断条件语句,看其结果是true还是false

    如果是false,循环结束。

    如果是true,继续执行。

    C:执行循环体语句

    D:执行控制条件语句

    E:回到B继续

    • 2.1.3for循环的执行流程图

    2.2while循环的格式及基本使用

    • 2.2.1基本格式

       while(判断条件语句) {

             循环体语句;

       }

    扩展格式

       初始化语句;

       while(判断条件语句) {

             循环体语句;

             控制条件语句;

    }

    • 2.2.2执行流程图

     

     

    2.3do...while循环语句格式

    • 2.3.1do....while循环语句格式

    基本格式

       do {

             循环体语句;

       }while(判断条件语句);

    扩展格式

       初始化语句;

       do {

             循环体语句;

             控制条件语句;

    } while(判断条件语句);

     

    • 2.3.2执行流程图

    2.4三种循环区别

            区别概述:

    do…while循环至少会执行一次循环体。

    for循环和while循环只有在条件成立的时候才会去执行循环体

    for循环语句和while循环语句的小区别:

    使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

    三.控制循环语句

    3.1控制跳转语句break

    • 3.1.1break的使用场景和作用

    break的使用场景:

    在选择结构switch语句中

    在循环语句中

    离开使用场景的存在是没有意义的,不能单独使用

    break的作用:

    跳出单层循环

    3.2控制跳转语句continue

    • 3.2.1continue的使用场景:

    在循环语句中

    离开使用场景的存在是没有意义的

    continue的作用:

    单层循环对比break,然后总结两个的区别

    break  退出当前循环

    continue  结束本次循环,进入循环的下一次

    小结:总之这些都是很基本的循环语句和条件语句,重点在于如何进入循环和如何满足我们想要的条件进入某些语句,对于完成操作后的跳出循环和跳出条件也是比较重要的一环,两者相互结合使用的频率十分高,而如何将条件和循环语句融会贯通以及避免过多的冗余也是作为一个程序员必须在项目和应用中需要稍微花点时间去考虑的问题以及重点。

    展开全文
  • 欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码作者的经验讲解,真心想把自己近十年的编程经验分享给...

    欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。

    Python系列整体框架包括基础语法10篇、网络爬虫30篇、可视化分析10篇、机器学习20篇、大数据分析20篇、图像识别30篇、人工智能40篇、Python安全20篇、其他技巧10篇。您的关注、点赞和转发就是对秀璋最大的支持,知识无价人有情,希望我们都能在人生路上开心快乐、共同成长。

    本文参考了作者CSDN的文章,链接如下:

    同时,作者新开的“娜璋AI安全之家”将专注于Python和安全技术,主要分享Web渗透、系统安全、人工智能、大数据分析、图像识别、恶意代码检测、CVE复现、威胁情报分析等文章。虽然作者是一名技术小白,但会保证每一篇文章都会很用心地撰写,希望这些基础性文章对你有所帮助,在Python和安全路上与大家一起进步。




    一.条件语句

    在讲诉条件语句之前,需要先补充语句块的知识。语句块并非一种语句,它是在条件为真时执行一次或执行多次的一组语句,在代码前放置空格缩进即可创建语句块。它类似于C、C++、Java等语言的大括号({ })来表示一个语句块的开始和结束。

    在Python中使用冒号(:)来标识语句块的开始,块中每一条语句都有缩进并且缩进量相同,当回退到上一层缩进量时,就表示当前语句块已经结束。 下面开始详细讲解条件语句。

    1.单分支

    单分支语法如下:

    if <condition>:
    	<statement>
    	<statement>
    

    < condition > 是条件表达式,基本格式为< expr >< relop >< expr >;< statement >是语句主体。判断条件如果为真(True)就执行语句,如果为假(False)就跳过语句,执行下一条语句。条件判断通常有布尔表达式(True、False)、关系表达式(>、<、>=、<=、= =、!=)和逻辑运算表达式(and、or、not,其优先级从高到低是not、and、or)等。

    注意:在Python2.x版本中,条件表达式是不强制要求用括号括起来的,但条件表达式后面一定要添加英文冒号字符。

    a = 10
    if a==10:
        print('变量a等于10')
        print(a)
    

    输出结果如下:
    在这里插入图片描述



    2.二分支

    二分支语法如下:

    if <condition>:
    	<statement>
    	<statement>
    else:
    	<statement>
    	<statement>
    

    执行过程如下图所示:

    在这里插入图片描述

    如果条件语句< condition >为真,if后面的语句就被执行,如果为假,则执行else下面的语句块。条件语句的格式为:< expr >< relop >< expr >,其中< expr >为表达式、为关系操作符。例如:a >= 10、b != 5等。

    a = 10
    if a >= 5:
        print('变量a大于等于5')
        print(a)
    else:
        print('变量a小于5')
        print(a)
    

    输出结果如下,由于变量a为10,大于5执行if中的语句。

    在这里插入图片描述



    3.多分支

    if多分支由if-elif-else组成,其中elif相当于else if,同时它可以使用多个if的嵌套。具体语法如下所示:

    if <condition1>:
    	<case1 statements>
    elif<condition2>:
    	<case2 statements>
    elif<condition3>:
    	<case3 statements>
    ...
    else:
    	<default statements>
    

    该语句是顺序评估每个条件,如果当前条件分支为True,则执行对应分支下的语句块,如果没有任何条件成立,则执行else中的语句块,其中else是可以省略的。代码如下:

    num = input("please input:")
    num = int(num)
    print(num)
    if num >= 90:
        print('A Class')
    elif num >= 80:
        print('B Class')
    elif num >= 70:
        print('C Class')
    elif num >=60:
        print('D Class')
    else:
        print('No Pass')
    

    输出值为76,则在80到70之间,成绩为C等级,输出结果如下图所示。

    在这里插入图片描述

    注意:由于Python不支持switch语句,所以多个条件判断,只能用elif来实现,如果判断需要多个条件需同时判断时,可以:

    • 使用or (或),表示两个条件有一个成立时判断条件成功
    • 使用and (与),表示只有两个条件同时成立的情况下,判断条件才成功
    # 判断值是否在小于0或大于10
    num = 10
    if num < 0 or num > 10:    
        print('hello')
    else:
        print('undefine')
    # 输出结果: undefine
    
    
    # 判断值是否在0~5或者10~15之间
    num = 8
    if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
        print('hello')
    else:
        print('undefine')
    

    输出结果如下图所示:

    在这里插入图片描述

    当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外and和or的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

    同时,你也可以在同一行的位置上使用if条件判断语句,如下实例。但不见大家使用类似的语法,在我们编写项目或实战中,很可能你的代码会供别人学习,有时你只负责其中一部分,良好的代码格式及注释是非常必要的。

    var = 520
    if (var ==520): print("感谢您关注娜璋AI安全之家")
    


    二.循环语句

    Python循环语句主要分为while循环和for循环,它允许我们执行一个语句或语句组多次。

    1.while循环

    while循环语句的基本格式如下:

    while <condition>:
    	<statement>
    else:
    	<statement>
    

    执行流程如下图所示:

    在这里插入图片描述

    条件表达式< condition >如果为真时,则循环体重复执行,直到条件判断为假,循环体终止,如果第一次判断条件就为假,则直接跳出循环执行else语句,注意else语句可以省略,同时冒号(:)开始进入循环体,缩进区分语句块。条件语句condition包括布尔表达式(True、False)、关系表达式(>、<、>=、<=、= =、!=)和逻辑运算表达式(and、or、not)等。

    案例1:1+2+…+100

    i = 1  
    s = 0  
    while i <= 100:  
        s = s+i  
        i = i+1  
    else:  
        print('over')
    print('sum = ', s)
    

    这段代码是作者写博客或授课时,讲述循环语句最常用的例子,求1+2+3+…+100的结果,答案是5050。该段代码反复执行“i<=100”判断,当i加到101时,判断i>100为假则结束循环执行else语句。

    在这里插入图片描述


    案例2:循环打开网站
    再举一个实例,通过定义一个while循环,调用webbrowser库的open_new_tab()函数循环打开百度首页网址,下面代码反复打开了百度首页5次。完整代码如下:

    import webbrowser as web  
    import time  
    import os
    
    i=0  
    while i<5:  
        web.open_new_tab('http://www.baidu.com')  
        i=i+1  
        time.sleep(0.8)  
    else:  
        os.system('taskkill /F /IM iexplore.exe')  
    print('close IE')
    

    代码是调用webbrowser库中open_new_tab()函数打开窗口(百度链接)5次。

    在这里插入图片描述

    最后循环结束执行os.system()操作系统函数,调用taskkill命令结束IE浏览器进程(Iexplore.exe),其他浏览器程序修改为chrome.exe、qq.exe或firefox.exe即可。其中参数“/F”表示强行终止程序,“/IM”表示图像,如下图所示。

    在这里插入图片描述

    注意:上述代码实现了循环打开某个网站,可以应用于刷取网页浏览量或Web开发测试等功能。比如新浪博客等部分网页打开一次浏览器会计算一次浏览次数,通过上面这段代码可以循环增加阅读量,部分网站又是通过浏览量进行排序的,不妨试试看。作者引入该代码仅为读者了解循环,也为后面的爬虫知识埋下伏笔。


    案例3:奇数和偶数计算
    最后补充一个奇数和偶数计算的案例,其基本流程如下图所示:

    在这里插入图片描述

    代码如下:

    numbers = [12, 37, 5, 42, 8, 3]
    even = []
    odd = []
    while len(numbers) > 0:
        number = numbers.pop()
        if(number % 2 == 0):      #偶数判断
            even.append(number)
        else:
            odd.append(number)
    #输出结果
    print(even)
    print(odd)
    

    输出结果如下:

    [8, 42, 12]
    [3, 5, 37]
    


    2.for循环

    for循环语句的基本格式如下:

    for <var> in <sequence>:
    	<statement>
    	<statement>
    

    流程图如下:

    在这里插入图片描述

    自定义循环变量var遍历sequence序列中的每一个值,每个值执行一次循环的语句块。sequences表示序列,常见类型有list(列表)、tuple(元组)、strings(字符串)和files(文件)。下面的代码是计算1到100的求和,输出三角形星号的示例。

    #元组循环
    tup = (1,2,3,4,5)  
    for n in tup:  
        print(n)  
    else:  
        print('End for\n')
        
    #计算1+2+...+100
    s = 0
    for i in range(101):
        s = s + i
    print('sum =', s)
    
    #输出三角形星号
    for i in range(10):
        print("*"*i)
    

    输出结果如下图所示,循环遍历元组tup变量中的值,依次获取并输出;然后计算1累加到100,range(101)表示依次获取101范围内的100个数字,其累加结果为5050;最后输出星号三角形,print “ * ” * i 代码中,第一个星号表示输出星号字符串,第二个星号是乘法,表示输出5个星号,终输出三角形。打印图形是编程基础,使用Python实现要比C语言容易很多,但原理逻辑是一样的。

    在这里插入图片描述



    3.Break、Continue和Pass语句

    Break和Continue是两个常用的跳出循环语句。

    • Break语句
      跳出最内层while、for循环,在语句块执行过程中终止循环,并且跳出整个循环。
    s = 0
    num = 0
    while num<20:
        num += 1
        s += num
        if s > 100:
            break
    print("The sum is", s)
    # The sum is 105
    

    当求和变量s大于100的时候,进入if判断,执行break跳出循环,最后输出105。


    • Continue语句
      在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
    for num in range(10):
        if num % 2 == 0:
            print("even number:", num)
            continue
        print("number:",num)
    

    输出结果如下,当为偶数的时候continue跳出当前循环,for循环中只输出偶数。

    >>> 
    even number: 0
    number: 1
    even number: 2
    number: 3
    even number: 4
    number: 5
    even number: 6
    number: 7
    even number: 8
    number: 9
    >>> 
    

    • pass语句
      pass语句是空语句,为了保持程序结构的完整性所使用的。
    # 输出 Python 的每个字母
    for letter in 'Python':
       if letter == 'h':
          pass
          print('这是 pass 块')
       print('当前字母 :', letter)
    print("Good bye!")
    

    输出结果如下图所示:

    在这里插入图片描述



    4.嵌套循环

    while基本语法如下:

    while expression:
       while expression:
          statement(s)
       statement(s)
    

    for基本语法如下:

    for iterating_var in sequence:
       for iterating_var in sequence:
          statements(s)
       statements(s)
    

    下面以最简单的冒泡排序算法来补充循环嵌套知识。冒泡排序是最常见到的排序算法,也是很基础的一种排序算法。它的实现思想是:

    • 相邻的两个元素进行比较,然后把较大的元素放到后面(正向排序),在一轮比较完后最大的元素就放在了最后一个位置,像鱼儿在水中吐的气泡在上升的过程中不断变大。
    def bubble_sort(list):
        count = len(list)
        for i in range(count):
            for j in range(i + 1, count):
                if list[i] > list[j]:
                    list[i], list[j] = list[j], list[i]
        return list
    
    #排序算法
    list = [3, 91, 23, 14, 56, 9]
    print("排序前:", list)
    res = bubble_sort(list)
    print("排序后:", res)
    

    输出结果如下:

    在这里插入图片描述

    你可能会疑惑bubble_sort()是什么?其实它是一个自定义函数,下面我们马上讲解。



    三.函数

    当读者需要完成特定功能的语句块时,需要通过调用函数来完成对应的功能。函数分为无参数函数和有参数函数,当函数提供不同的参数时,可以实现对不同数据的处理。下面从自定义函数、系统自带函数、第三方库函数三个方面进行讲解。

    1.自定义函数

    (1) 定义方法
    为了简化编程,提高代码的复用性,可以自定义函数,函数定义如下:

    def funtion_name([para1,para2...paraN]):
    	statement1
        statement2
          ....
        [return value1,value2...valueN]
    

    其中:

    • 定义函数需要使用def关键词
    • function_name表示函数名,后面的冒号(:)不要忘记,并且缩进
    • [para1,para2…paraN]表示参数,可以省略,也可以多个参数
    • [return value1,value2…valueN]表示返回值,可以无返回值,也可以多个返回值
    • 需要注意的是自定义函数有返回值,主调函数就需要接受返回的结果

    函数调用时,形参被赋予真实的参数,然后执行函数体,并在函数结束调用时返回结果。Return语句表示退出函数并返回到函数被调用的地方,返回值传递给调用程序。

    首先来看一个无返回值的求和函数fun1(),代码如下:

    #函数定义
    def fun1(a,b):
        print(a,b)
        c = a + b
        print('sum =',c)
    
    #函数调用
    fun1(3,4)
    # 3 4
    # sum = 7
    

    再来看一个包含多个参数返回的计算器函数fun2(),代码如下,return返回五个结果。

    #函数定义
    def fun2(a,b):  
        print(a,b)
        X = a + b  
        Y = a - b  
        Z = a * b  
        M = a / b  
        N = a ** b  
        return X,Y,Z,M,N
    
    #函数调用
    a,b,c,d,e = fun2(4,3)  
    print('the result are ',a,b,c,d,e)
    re = fun2(2,10)  
    print(re)
    

    输出结果如下,依次返回加法、减法、乘法、除法、幂运算结果。

    >>> 
    4 3
    the result are  7 1 12 1.3333333333333333 64
    2 10
    (12, -8, 20, 0.2, 1024)
    >>> 
    

    (2) 自定义函数参数含预定义
    预设值是在自定义函数基础上,对某些参数赋予预定义值。例如:

    def fun3(a,b,c=10):
        print(a,b,c)
        n = a + b + c
        return n
      
    print('result1 =',fun3(2,3))
    print('result2 =',fun3(2,3,5))
    

    第一次调用a为2,b为3,c为预定义值10,求和输出15;第二次调用修改了预定义值c,赋值为5,求和即为2+3+5=10。

    在这里插入图片描述

    注意:预定义值得参数不能先于无预定义值参数;同时,函数调用时,建议采用一对一赋值,也可以在函数调用中给出具体形参进行赋值,但需要注意的是在函数调用过程中(使用函数时),有预定义值的参数不能先于无预定义值参数被赋值。


    2.常见内部库函数

    Python系统内部提供了一些库函数供大家使用,这里主要介绍最常见的四个库函数,即str字符串库函数、math数据库函数、os操作系统库函数、socket网络套接字库函数。Python常见内部库函数如下:

    在这里插入图片描述

    下面代码是这四个常见内部库函数的具体用法,代码如下:

    # -*- coding:utf-8 -*-
    #字符串库函数
    str1 = "hello world"
    print('计算字符串长度:', len(str1))
    str2 = str1.title()
    print('首字母大写标题转换:', str2)
    str3 = '12ab34ab56ab78ab'
    print('字符串替换:', str3.replace('ab',' '))
    
    #数学库函数
    import math
    print(math.pi)
    num1 = math.cos(math.pi/3)
    print('余弦定律:', num1)
    num2 = pow(2,10)
    print('幂次运算:', num2)
    num3 = math.log10(1000)
    print('求以10为底的对数:', num3)
    
    #操作系统库函数
    import os
    print('输出当前使用平台:', os.name)
    path = os.getcwd()
    print('获取当前工作目录', path)
    os.system('taskkill /F /IM iexplore.exe') #关闭浏览器进程
    
    #网络套接字库函数
    import socket
    ip = socket.gethostbyname('www.baidu.com')
    print('获取百度ip地址', ip)
    

    输出结果如下图所示。

    在这里插入图片描述



    3.第三方库函数

    Python作为一门开源语言,它支持各种第三方提供的开源库供我们使用。其使用第三方函数库时的具体格式为:

    • module_name.method(parametes)

    表示“第三方函数名.方法(参数)”。例如httplib\httplib2库是针对HTTP和HTTPS的客户端协议,使用httplib2库函数之前,如果没有安装httplib2库会报错“ImportError: No module named httplib2”,如图2.18所示。

    在这里插入图片描述

    在Linux环境中,输入命令“easy_install httplib2”可以实现自动安装扩展包,Windows环境下需要安装pip或easy_install工具,再调用命令执行安装。在后续文章会讲解pip安装工具及用法,后面章节也会介绍各种第三方库函数实现数据爬取和分析操作。



    四.总结

    无论如何,作者都希望这篇文章能给您普及一些Python知识,更希望您能跟着我一起写代码,一起进步。如果文章能给您的研究或项目提供一些微不足道的思路和帮助,就更欣慰了。作者最大的期望就是文章中的一些故事、话语、代码或案例对您有所帮助,致那些努力奋斗的人。

    最后,真诚地感谢您关注“娜璋之家”公众号,感谢CSDN这么多年的陪伴,会一直坚持分享,希望我的文章能陪伴你成长,也希望在技术路上不断前行。文章如果对你有帮助、有感悟,就是对我最好的回报,且看且珍惜!2020年8月18日建立的公众号,再次感谢您的关注,也请帮忙宣传下“娜璋之家”,哈哈~初来乍到,还请多多指教。

    在这里插入图片描述

    遗憾,让我们懂得完美。
    逝去,让我们不断前行。
    她夜色中的身姿是那么的美。

    (By:娜璋之家 Eastmount 2020-09-09 夜于武汉 https://blog.csdn.net/Eastmount )

    参考文献如下:
    [1] 作者书籍《Python网络数据爬取及分析从入门到精通》
    [2] 作者博客:https://blog.csdn.net/Eastmount
    [3] https://www.runoob.com/python/python-if-statement.html

    展开全文
  • FPGA学习笔记(四)————Verilog HDL条件语句循环语句 文章目录FPGA学习笔记(四)————Verilog HDL条件语句循环语句1.if--else语句2.case语句3.forever语句4.repeat语句5.while语句6.for语句7.disable语句 1....
  • 条件判断:if语句 语法格式: ? 1 2 3 4 if [ expression ] then Statement(s) to be executed if expression is true fi 注意:...
  • 在我们敲代码的时候经常会遇到要使用选择语句和循环语句的时候,因为合理的使用这些语句能有效的提高我们代码的质量性能。 接下来我们说说这些语句! 1、选择语句 先来说说java的关系操作符: java操作符 数学...
  • 这是作者安全攻防进阶系列博客,包括恶意样本分析、逆向...这篇文章将继续带领大家来学习科锐钱林松老师在华中科技大学的分享视频,详细讲解条件语句和循环语句源码还原及流程控制逆向。基础性文章,希望对您有所帮助~
  • 前言第一次建学习群,而且是 Python 的学习群,虽然之前深入学习工作都是 Android 相关的,最近学起来...目录一、条件语句Python 条件语句跟其他语言基本一致的,都是通过一条或多条语句的执行结果( True 或者 False
  • if语句和循环语句

    千次阅读 2015-10-02 10:28:36
    if(条件表达式){执行语句;} 当满足条件表达式的时候,执行if语句块中的内容。如果不满足,则不执行。 格式二: if(条件表达式){执行语句;} else{执行语句;} if。。。。。else 两个条件一定会满足一...
  • 系统安全系列作者将深入研究恶意样本分析、逆向分析、攻防实战Windows漏洞利用等,...这篇文章将带领大家来学习科锐钱林松老师的视频,详细讲解条件语句和循环语句源码还原及流程控制逆向。希望对入门的同学有帮助。
  • 4.1任务1:打印数字(时间:25分钟) 4.1.1 任务描述 编程求一个四位自然数ABCD,它乘以A后变成DCBA。 4.1.2 任务目的 逐渐建立使用循环进行编程的思路:寻找...掌握while,do-while,for循环语句结构执行流程
  • 条件判断及循环语句

    2018-07-26 20:11:13
    一:流程控制语句  1:顺序结构  从上往下依次执行 开始-----》语句一-------》语句二------》结束 2:选择结构 (分支结构)  有特定的语法格式,必须按照语法格式编写代码 ... 格式1 if(关系表达式){...
  • C语言入门(九)循环语句和循环控制

    千次阅读 多人点赞 2016-07-12 10:07:42
    循环语句和循环控制  前言: Turbo C 2.0提供三种基本的循环语句: for语句、while语句do-while语句。 一、循环语句 (一)、for循环 它的一般形式为: for(;;) 语句; 初始化总是一个赋值语句,它用来给循环控制...
  • Python语法—判断语句和循环语句(详解)

    千次阅读 多人点赞 2020-03-30 16:46:01
    本文是phython基础语法第二章判断语句和循环语句知识点小结,欢迎阅读,共同进步 文章目录一.if判断语句基本格式介绍二.比较(即关系条件)运算符三.if-else四.if...elif...else...语句格式五.if嵌套六.While循环...
  • 判断语句和循环语句

    千次阅读 2017-12-21 13:37:53
    二、循环语句 一、while循环 <1>while循环的格式 while 条件: 条件满足时,做的事情1 条件满足时,做的事情2 条件满足时,做的事情3 ...(省略)... demo 计算1~100之间偶数的累积(包含1100) ...
  • 所以,需要利用条件语句,让程序作出正确的决策执行正确的动作。 UNIX Shell支持条件语句,从而根据不同的条件下执行不同的操作。在这里,我们将解释以下两个决策语句: · if...else 语句 · case...esac ...
  • Python的if条件语句及while循环语句

    千次阅读 2018-07-18 17:50:59
    一、if条件语句 1.Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 2.Python程序语言指定任何非0非空(null)值为true,0 或者 null为false。 3.Python 编程中 if 语句用于...
  • 流程控制 判断语句和循环语句

    千次阅读 2018-06-16 12:07:31
    什么是流程控制呢?流程就是做一件事情的顺序,或者说是次序。在程序设计中,流程就是要完成一个功能,而流程控制则是指如何在程序设计...实现这些控制结构的语句可分为5类:表达式语句、复合语句、分支语句循环语...
  • Python循环语句

    千次阅读 多人点赞 2020-03-23 14:31:11
    今天我们来讲循环。最近多了几位粉丝,在此感谢你们的支持。同时也谢谢点赞的朋友们。 Python有两种循环模式,我们先讲遍历循环。 先看一个案例: for i in range(1,10): print(i,end = '') ...语句块 大家...
  • Turbo C 2.0提供三种基本的循环语句: for语句、while语句do-while语句。 一、循环语句 (一)、for循环 它的一般形式为: for(;;) 语句; 初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一...
  • 循环语句的文法: S -&gt; IF B THEN S1 | IF B THEN S1 ELSE S2 | WHILE B DO S1 1.S -&gt; IF B THEN S1: 代码结构图如下: SDT如下: S -&gt; IF{B.TRUE = NEWLABEL();B,FALSE = S.NEXT;} B...
  • 简单判断赋值、条件循环,代码块开始,结束 二、 实验要求 1.待分析的简单语言的语法 用扩充的EBNF表示如下: 程序块>::= begin{;} end. ::= || ::= IDENT:= ::= if then ::= while do ::= [+|-]{(+|-)} ::= {...
  • C语言循环语句

    2018-11-02 23:46:47
    statement 是以分好为结尾的简单语句,也可以是也用花括号括起来的符合语句 Expression 使用的是关系表达式也可以是值 每循环一次叫做一次迭代 ————&gt;while————&gt;Expression———成立———...
  • Turbo C 2.0提供三种基本的循环语句: for语句、while语句do-while语句。一、循环语句 (一)、for循环 它的一般形式为: for(;;) 语句; 初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一...
  • 特点:先判断条件条件为真,执行循环语句条件为假,直接结束循环语句。 语法: while(条件表达式) {  循环语句;//如果条件为真,执行循环语句,如果条件为假,直接结束整个while语句 } while循环执行流程:...
  • IOS第五天——循环和条件语句

    千次阅读 2013-04-18 00:40:41
    今天由于晚上开了个会议,所以耽误了一些,所以就简单的学习下Obj-C的循环和条件语句了,其实这块儿跟我们之前学过的其他的语言很相似,那么我们开始今天的学习。 1, 循环语句 Obj-C中的循环语句主要有以下几个...
  • for循环语句 for循环语句的格式要求 for(初始化语句;条件判断语句;条件控制语句){ 循环体语句; } for语句的执行流程 ①执行初始化语句,该语句只会执行一次 ② 执行条件判断语句,例如 i <= 5,看其返回...
  • PB 基本语句 循环语句

    万次阅读 2011-04-07 17:36:00
    PB 基本语句 循环语句 PB 基本语句 一、赋值语句 赋值语句用于给变量、对象属性赋值,这是应用程序中使用最频繁的语句,其语法格式为:variable...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 156,382
精华内容 62,552
关键字:

循环语句和条件语句的关系