类似java语言,Python中有三种控制结构——三种控制流语句——if、for和while。 1.ifif主要用于条件判断。 1.1 if结构[python]
1. i = 1
2. x = 1
3. if i > 0: #注意后面的冒号必不可少!
4. x = x+1 #必须输入四个空格的缩进表示隶属关系!
5. print x 1.2 if-elif-else 结构[python]
1.
class="python">a = input("a:") #这条语句的作用是在屏幕显示“a:”,并等待用户输值赋给a。
2. b = input("b:")
3. if(a > b):
4. print (a, " 大于 ", b)
5. print("显示1")
6. elif(a==b): #elif类似java中的else if,但要注意在末尾的冒号!
7. print(a,"等于",b)
8. print("显示2")
9. else: #注意末尾的冒号!
10. print(a,"小于",b)
11. print("显示3")
12. print("显示4")
这里有三个块,分别属于if, elif, else引领。Python检测条件,如果发现if的条件为假,那么跳过后面紧跟的块,检测下一个elif的条件; 如果还是假,那么执行else块。通过上面的结构将程序分出三个分支。程序根据条件,只执行三个分支中的一个。
1.3 if的嵌套使用[python]
1. a = input("a:")
2. b = input("b:")
3. c = input("c:")
4. if(a > b):
5. print (a,"大于",b)
6. if(a>c): #注意这里的的if需要缩进,因为该if隶属于if(a>b)
7. print(a,"大于",c)
8. else:
9. print(a,"小于",c) #注意这里的if应该与if(a>c)缩进相同
10.
2.while给出一个while循环终止条件。 下例循环打印1到100
[python]
1. a=0
2. while a<100:
3. a+=1 #Python没有i++的写法
4. print(a)
else:
print("循环结束")
3.forfor循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。
[python]
1. student2=["王尼玛","男",22,["脑袋大","脖子短","屁股圆"]]
2. for a in student2: #循环次数为列表student2中元素的个数。 注意末尾的引号
3. print(a) #循环结构同样需要缩进
因为迭代(也就是循环)某范围的数字非常常见,所以有个内建的范围函数提供使用——range()
[python]
1. list(range(10)) #建立一个从0到9的列表(range()生成的是iterator对象。list()的作用是转换成列表)
2. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
我们可以这样使用range()函数
[python]
1. for a in range(1,101): #对while中的事例进行改造,打印1到100的数字
2. print(a)
[python]
1. list(range(1,100,3)) #生成从1到100间的数,步长为3
2. 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97]
[python]
1. list(range(99,1,-3)) #1到100间的数字,逆向排列
2. [99, 96, 93, 90, 87, 84, 81, 78, 75, 72, 69, 66, 63, 60, 57, 54, 51, 48, 45, 42, 39, 36, 33, 30, 27, 24, 21, 18, 15, 12, 9, 6, 3]
轻量级循环
[python]
1. [x*x for x in range(10)] #生成一个简单的
2. 0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
enumerate()函数利用enumerate()函数,可以在每次循环中同时得到下标和元素:
[python]
1. S = 'abcdefghijk'
2. for (index,char) in enumerate(S):
3. print(index)
4. print(char)
zip()如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素,可以利用zip()方便地实现:
[python]
1. ta = [1,2,3]
2. tb = [9,8,7]
3. tc = ['a','b','c']
4. for (a,b,c) in zip(ta,tb,tc):
5. print(a,b,c)
输出
[python]
1. 1 9 a
2. 2 8 b
3. 3 7 c
[python]
1. a=["lucy","lily","tom"]
2. b=[11,12,13]
3. print(list(zip(a,b)))
输出
[python]
1. [('lucy', 11), ('lily', 12), ('tom', 13)]
4.中断循环break——跳出循环
continue——跳出本次命令的之行,继续下一次循环
[python]
1. nameList=["王二小","王小明","小红","小刚","寒梅梅","王尼玛","李磊"]
2. for name in nameList:
3. if name=="王尼玛":
4. print("凶手找到啦!")
5. break
6. print(name)
输出为王尼玛
[python]
1. nameList=["王二小","王小明","小红","小刚","寒梅梅","王尼玛","李磊"]
2. for name in nameList:
3. if name=="王尼玛":
4. print("凶手找到啦!")
5. continue
6. print(name)
输出为李磊
5.注意
1.Python的缩进 空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。 这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。我们将在后面的章节中看到有关块的用处的例子。 你需要记住的一样东西是错误的缩进会引发错误。
2.if格式if <条件1>:
statement
elif <条件2>:
statement
elif <条件3>:
statement
else:
statement
3.while格式while<条件>:
statement
else:
statement
4.for格式for 变量 in <对象集合>:
5.Python与java的不同Python的while可以写else!



