<Python学习笔记3> 流程控制

冷暖自知 提交于 2020-04-07 07:43:00

3.1、if语句

if语句用来检验一个条件,如果条件为真,运行一块语句(称为 if-块 ), 否则 处理另外一块语句(称为 else-块 ),else 从句是可选的。

实例1:if.py

#!/usr/bin/python# Filename: if.pynumber=20get_number=int(raw_input("Enter an integer:"))if get_number==number:  print '''Congratulations,you guessed it.  (but you don't win any prizes!)'''elif get_number<number:  print "No, it's a little higher than that"else:  print "No, it's a little lower than that"print "Done"

输出:

Enter an integer:20
Congratulations,you guessed it.
  (but you don't win any prizes!)
Done
[root@test Public]# python if.py
Enter an integer:19
No, it's a little higher than that
Done
[root@test Public]# python if.py
Enter an integer:21
No, it's a little lower than that
Done
实例2:

#!/usr/bin/pythonx=int(raw_input("Enter an integer x:"))y=int(raw_input("Enter an integer y:"))if x>y:  print "max: x(%d)" %xelse:  print "max: y(%d)" %y

输出:

Enter an integer x:12
Enter an integer y:32
max: y(32)

3.2、while循环语句

只要在一个条件为真的情况下,while语句允许你重复执行一块语句。while语句是所谓 循环 语句的一个例子。while语句有一个可选的else从句。

实例:

#!/usr/bin/pythonnumber=40status=Truewhile status:  get_number=int(raw_input("Enter an integer:"))  if get_number==number:    print "Congratulations,you guessed it."    print "(but you don't win any prizes!)"    status=False  elif get_number<number:    print "No, it's a little higher than that"  else:    print "No, it's a little lower than that"print "Done"

输出结果:

Enter an integer:1
No, it's a little higher than that
Enter an integer:2
No, it's a little higher than that
Enter an integer:40
Congratulations,you guessed it.
(but you don't win any prizes!)
Done

3.3、for循环

for..in是另外一个循环语句,它在一序列的对象上 递归 即逐一使用队列中的每个项目。

实例1:

#!/usr/bin/pythona=['cat','window','defenestrate']for x in a:  print x, len(x)

a是一个链表,len是一个函数,返回字符串的长度。

输出结果:
cat 3
window 6
defenestrate 12

实例2:

#!/usr/bin/pythonfor x in range(1,6):  print x

输出结果:

1
2
3
4
5
等价于:

#!/usr/bin/pythonfor x in [1,2,3,4,5]:  print x

range()函数:生成一个等差级数链表。

range(10) 包含10个值的链表,它用链表的索引值填充了这个长度为10的列表,所生成的列表中不包括范围中的结束值'10'。

也可以让range操作从指定的一个数值开始,或者指定一个不同的"步长"

实例1:

#!/usr/bin/pythonfor x in range(2,9,2):  print x

输出结果:

2
4
6
8
实例2:

#!/usr/bin/pythona=['Mary','had','little','lamb']for i in range(len(a)):  print i, a[i]

输出结果:

0 Mary
1 had
2 little
3 lamb

3.4、break语句

break语句是用来 终止 循环语句的,即哪怕循环条件没有称为False或序列还没有被完全递归,也停止执行循环语句。

一个重要的注释是,如果你从forwhile循环中 终止 ,任何对应的循环else块将执行。

#!/usr/bin/pythonwhile True:  s = raw_input('Enter something : ')  if s == 'quit':    break  print 'Length of the string is', len(s)print 'Done'

输出:

Enter something : 1
Length of the string is 1
Enter something : 11
Length of the string is 2
Enter something : quit
Done

3.5、continue语句

continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后 继续 进行下一轮循环。

#!/usr/bin/pythonwhile True:  s = raw_input('Enter something : ')  if s == 'quit':    break  if len(s) < 3:    continue  print 'Input is of sufficient length'

在这个程序中,我们从用户处取得输入,但是我们仅仅当它们有至少3个字符长的时候才处理它们。所以,我们使用内建的len函数来取得长度。如果长度小于3,我们将使用continue语句忽略块中的剩余的语句。否则,这个循环中的剩余语句将被执行,我们可以在这里做我们希望的任何处理。continue语句对于for循环也有效。

输出:

Enter something : 1
Enter something : 12
Enter something : 123
Input is of sufficient length
Enter something : quit

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!