第八章 控制语句

在前面的几个章节中,所编写的程序都是按照顺序一步一步执行的,并没有程序该有的逻辑,想让程序按照自己的顺序逻辑执行,才能控制程序。比如到了某一个时间点,闹钟就会响,而不再这个时间点闹钟应该是安静的。可以通过控制语句来实现这种控制功能,那需要多少种关键字来实现呢?通常在程序语言中,都有三种关键字:ifforwhile。程序都是由各种逻辑组成的,没有逻辑的程序,做不了任何的事情。

if语句

if语句是一种条件语句,后面跟条件,条件如果符合执行相关的语句,if语句通常跟else或者elif关键字,语言如下:

    # 如果条件满足则执行,其他情况没有处理
if status:
    do1()

# 如果条件满足则执行do1,其他情况都do2
if status:
    do1()
else:
    do2()

# 如果满足status1则执行do1,满足status2do2,其他情况都do3m
if status1:
    do1()
elif status2:
    do2()
else:
    do3()

三种情况,在编程的过程中可灵活的采用:

x = int(input("input an integer : "))
if x > 0:
        print x, " > 0"
elif x < 0:
        print x, " < 0"
else:
        print x, " = 0"

通过input获取用户的输入,判断用户的输入是整数还是负数。这个语句用到的ifelifelse,如果是简单点的逻辑,并不需要这三个都用到,当然一个if可以有多个的elif语句,构成复杂的逻辑。

while语句

while语句后面带一个条件,如果符合这个条件则继续循环下去,条件不符合则跳出。如果条件直接给的是真,会一直的循环下去,语法:

ringtime = 7
running = True

while running:
    nowtime = int(input("Enter an integer:"))
    if nowtime == ringtime :
        print 'ring'
    running=False

在程序中我们假设闹钟的时间是7点,用输入来模拟现在的时间,如果当前的时间为7点的话,闹钟响,循环结束。

for语句

python中for语句和c/c++for语句有点区别,在python中for通常配合in来完成遍历的过程,其实for并没有条件的控制,条件是范围遍及,如果超出了这个范围那么就结束。

for i in range ( 1 , 10 ):
    print i

forin的配合,遍历1到10的数字,默认的步长为1,也就是i每循环一次就自动加1,并进行输出,循环如果超出了1到10的边界,条件变假,循环结束。

所有的内置数据结构,都可以用for in 语法来遍历:

nums = [1,2,4,5]
for num in nums:
    print num

这里列举了list,用for in遍历各个数组,同样的其他的内置数据结构也同样可以这样遍历。

contiune和break语句

breakcontinueforwhile中使用,在forwhile循环语句中,如果碰到break则马上跳出循环,碰到contiune就不用执行continue下面的语句块了,直接进入下一个循环。一般情况,通常配合if语句进行判断,是继续还是跳出。

nums = [1,2,4,5]
for num in nums:
    if num == 3:
        contiune
    print num
    if num == 4:
        contiune

如果碰到3,马上进入下一个循环,也就是不会打印3,如果碰到4,直接跳出循环,不会进入下一次循环,还没有到边界的时候,提前跳出来了。

总结

控制语句是编程的一个重点,它控制程序的执行顺序,在项目中也经常在控制语句上出现错误使得程序执行的逻辑没有按照满足需求,理解了需求才能控制好程序的逻辑。

继续阅读


所有评论

写了这么多年博客,收到的优秀评论少之又少。在这个属于 SNS 的时代也并不缺少向作者反馈的渠道。

还没有评论

撰写评论