美文网首页程序员
Python基础知识之控制语句

Python基础知识之控制语句

作者: 夷陵_老祖 | 来源:发表于2018-10-04 10:54 被阅读5次
    因之前自学一些语言的时候也经常碰到问题上网查阅别人的相关文章,很多都是只是大概地说以下理论知识导致还是很多没能理解,因此每条语句我都将从一个例子出发,希望大家能更好更快地掌握每一条语句。

    1. if语句

    if age >= 18:
        print 'your age is', age
        print 'adult'
    print 'over'
    

    通过上述例子,我们不难发现:python的控制语句语法较之于C语言及其它语言会简单许多,这也是python的一大特点。下面我具体来说一下if语句的用法:
    (1)if 语句后接表达式,然后用:表示代码块开始。
    (2)具有相同缩进的代码被视为代码块,上面的3,4行 的print 语句就构成一个代码块,若if条件成立,则该代码块将顺序执行。
    (3)python的缩进要求严格:4个空格,且注意不要使用Tab键,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。
    (4)若if条件不成立,则跳过其接下来的代码块,转而去执行与if具有相同缩进的语句块(上述例子中的print 'over')。

    2. if-else语句

    score = 65
    if score >= 60:
        print 'pass'
    else:
        print 'fail'
    

    利用 if ... else ... 语句,我们根据条件表达式的值为 True 或者 False ,分别执行 if 代码块或者 else 代码块,这可与if语句结合起来理解,我们可以把else当做是另一个if语句,只是此时的if的条件恰好是上个if条件的相反面。

    3. if-elif-else语句

    score = 85
    if score >= 90:
        print 'excellent'
    elif score >= 80:
        print 'good'
    elif score >= 60:
        print 'passed'
    else:
        print 'failed'
    

    在一定的情形下,我们会碰见很多的情况而且需要对每种情况做出不同的操作,若此时仅仅用if语句或if-else语句来处理,则会显得非常累赘而且代码可读性较差,如下例我们需要用多重if-else嵌套使用才能达到效果

    if age >= 18:
        print 'adult'
    else:
        if age >= 6:
            print 'teenager'
        else:
            if age >= 3:
                print 'kid'
            else:
                print 'baby'
    

    因此我们用 if ... 多个elif ... else ... 的结构,一次写完所有的规则。这样一来,我们就写出了结构非常清晰的一系列条件判断。
    注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。

    4. for循环语句

    X = [75, 92, 59, 68]
    sum = 0.0
    for x in X:
        sum = sum + x
    print sum / 4
    

    上例是求解X这一集合中元素的平均值,利用for...in...就可以依次把list或tuple的每个元素迭代出来。
    其中x 这个变量是在 for 循环中定义的(意思是,依次取出list中的每一个元素,并把元素赋值给 x,然后执行for循环体(就是缩进的代码块),这样一来,遍历一个list或tuple就非常容易了。

    5. while循环语句

    sum = 0
    x = 2
    while x<100:
        sun = sun + x;
        x=x+2
    print sum
    

    上例是计算100以内偶数的和。
    while 循环不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束,此例中即是判断x是否在100以内(x<100)。
    while需要注意的两点:
    (1)while循环每次先判断 x < N,如果为True,则执行循环体的代码块,否则,退出循环。
    (2)在循环体内,x = x + 2会让 x 不断增加,最终因为 x < N 不成立而退出循环,如果没有这一个语句,while循环在判断 x < N 时总是为True,就会无限循环下去,变成死循环,所以要特别留意while循环的退出条件。

    6. break语句

    sum = 0
    x = 1
    n = 1
    while True:
        if n > 50:
            break
        sum = sum + x
        x = x * 2
        n = n + 1
    print sum
    

    上例是利用 while True 无限循环配合 break 语句,计算 1 + 2 + 4 + 8 + 16 + ... 的前50项的和.

    用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句(注意,break语句只是跳出当前的一个内循环,即如若有多重循环嵌套,break语句仅仅跳出一层循环)

    7. continue语句

    sum = 0
    x = 0
    while True:
        x = x + 1
        if x > 100:
            break
        if x % 2 == 0:
            continue
        sum = sum + x
    print sum
    

    上例是计算100以内奇数的和。
    在循环过程中,我们可以用break退出当前循环,也可以用continue跳过后续循环代码,继续下一次循环。
    简单来说,就是当执行了continue时,直接跳过continue下面的代码,执行下一次循环。

    相关文章

      网友评论

        本文标题:Python基础知识之控制语句

        本文链接:https://www.haomeiwen.com/subject/jbozoftx.html