Python基础05-控制流语句
2017-02-17 15:12:30if语句
>>> x = int(input("请输入一个数字:"))
请输入一个数字:3
>>> if x < 0:
... print("负数")
... elif x == 0:
... print("零")
... else:
... print("正数")
...
正数
上边的代码里,x < 0
是条件,可以使用任何条件作为判断,如果条件为真,接下来的缩进里的所有内容知道缩进结束都作为if的代码块全部执行,elif是 else if 的缩写,当if为假时执行elif的判断,一个if代码块里可以出现多个elif做不同的条件判断,最后的else是以上所有条件都不满足时需要执行的代码块,elif和else不是必须出现的。
if里面可以嵌套另外的if,比如:
>>> if x > 1:
... print("a")
... if x > 20:
... print("b")
... print("c")
... else:
... print("d")
... else:
... print("e")
...
a
d
缩进可以清楚的看到他们的隶属关系。
while语句
>>> x = 10
>>> while x > 0:
... print(x)
... x = x - 3
...
10
7
4
1
for语句
>>> a = ['aa', 'bbbb', 'cccxxx', 'ddd0211']
>>> for o in a:
... print(o, len(o))
...
aa 2
bbbb 4
cccxxx 6
ddd0211 7
下面这段代码是把长度大于6的字符串插入到a里,这里如果写for o in a:
而不是for o in a[:]:
程序将进入无限循环,一直插入ddd0211
>>> for o in a[:]:
... if len(o) > 6:
... a.append(o)
...
>>> a
['aa', 'bbbb', 'cccxxx', 'ddd0211', 'ddd0211']
range()函数
>>> for i in range(3):
... print(i)
...
0
1
2
>>> for i in range(2, 5): #2到5,不包括5
... print(i)
...
2
3
4
>>> for i in range(0, 15, 3): #0到15,不包括15,每次加3
... print(i, end = ',')
...
0,3,6,9,12,
>>> for i in range(-10, -30, -6): #-10到-30,不包括-30,每次加-6
... print(i, end = ',')
...
-10,-16,-22,-28,
break continue else
>>> for i in range(5):
... if i % 2 == 0:
... continue #停止本次循环,继续下一次循环
... print(i)
...
1
3
>>> for i in range(5):
... if i % 2 == 1:
... break #停止执行整个循环
... print(i)
...
0
>>> for i in range(2, 10):
... for k in range(2, i):
... if i % k == 0:
... print(i, ' = ', k, ' * ', i // k)
... break
... else:
... print(i, "是质数")
...
2 是质数
3 是质数
4 = 2 * 2
5 是质数
6 = 2 * 3
7 是质数
8 = 2 * 4
9 = 3 * 3
注意这里的else子句属于for 而不是if。