控制结构
1.if语句
x = int(raw_input("Please enter an integer: "))
if x < 0:
x = 0
print ("Negative changed to zero")
elif x == 0:
print ("Zero")
elif x == 1:
print ("Single")
else:
print ("More")
elif 为 else if缩写,这个可以避免过深的缩进
2.for语句
a = [’cat’, ’window’, ’defenestrate’]
for x in a:
print(x,len(x))
输出
cat 3
window 6
defenestrate 12
在迭代过程中修改迭代序列不安全(只有在使用链表这种可变序列才会出现这种情况)。如果想要改变迭代的序列,可以迭代它的副本,使用切割标示符可以实现
for x in a[:]: # make a slice copy of the entire list
if len(x) > 6: a.insert(0, x)
print(a)
输出
['defenestrate', 'cat', 'window', 'defenestrate']
3.range()函数
range()函数可以生成一个等差基数链表
例如
range(10)为[0,1,2,3,4,5,6,7,8,9]
range(5,10)为[5,6,7,8,9]
range(0,10,3)为[0,3,6,9]
如果需要迭代链表的索引可以通过range()和len()实现,如:
a=['Mary','had','a','little','lamb']
for i in range(len(a)):
print(i,a[i])
输出为:
0 Mary
1 had
2 a
3 little
4 lamb
4. break、continue、else语句
break和continue与c中的break和continue用法一致
循环语句有一个else子句,它在循环迭代完整个列表(对于for)或执行条件为false(相对于while)时执行,但是循环如果让break中断,则else子句就不会运行。
注意:else关键字要与for或while对齐。
代码如下:
for n in range(2,10):
for x in range(2,n):
if n%x == 0:
print(n,'equals',x,'*',n/x)
break
else:
print(n,'is a prime number')
执行结果为:
2 is a prime number
3 is a prime number
4 equals 2 * 2.0
5 is a prime number
6 equals 2 * 3.0
7 is a prime number
8 equals 2 * 4.0
5.pass语句
pass语句不执行任何操作,用于语法上要求有语句而实际不执行任何东西的场合。如:
while True:
pass