Bootstrap

python if continue的用法_Python中的条件判断语句与循环语句用法小结

if语句

>>通用格式

if语句一般形式如下:

1

2

3

4

5

6

if :

elif :

else:

另外需要注意的是,Python中是没有switch/case语句的

while循环

while语句是Python语言中最通用的迭代结构,简而言之,只要顶端测试一直计算到真值,就会重复执行一个语句块。

>>一般格式

1

2

3

4

5

while :

else:

>>break,continue,pass和循环else

break

跳出最近所在的循环(跳过整个循环语句)。

continue

跳到最近所在循环的开头处(来到循环的首行)。

pass

什么事也不做,只是空占位符语句。

循环else块

只有当前循环正常离开时才会执行(也就是没有碰到break语句)

>>一般循环格式

加入break和continue语句后,while的一般格式变为:

1

2

3

4

5

6

7

while :

if :break

if :continue

else:

>>pass

pass语句是无运算的占位符,当语法需要语句并且还没有任何实用的语句可写时,就可以使用它。

>>循环else

在while语句中加入else和C/C++中的语法不太一样,这里详细说明一下。else后面的代码只有当循环正常结束时才会执行,如果是用break跳出循环的,这部分代码就不会运行,具体看一个求质数的例子:

1

2

3

4

5

6

7

8

x= y// 2

while x >1:

if y% x== 0:

print(y,'has factor',x)

break

x-= 1

else:

print(y,'is prime')

再看一个对比的例子,没有使用else的情况:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

found=False

while xand not found:

if (matchx[0]):

print('Ni')

found=True

else:

x=x[1:]

if not found:

print('not found')

使用else后的情况:

while x:

if (match(x[0])):

print('Ni')

break

else:

print('not found')

for循环

for循环在Python中是一个通用的序列迭代器:可以遍历任何有序的序列对象内元素。for语句可以用于字符串、列表、元组、其他内置可迭代对象。

>>一般格式

1

2

3

4

for in :

else:

此处的else的作用和while语句中的一样。另外需要注意的是,当Python运行for循环时,会逐个将序列对象中的元素赋值给目标,然后为每个元素执行循环体。

编写循环的技巧

内置range函数:返回一系列连续增加的整数,可作为for中的索引

内置zip函数:返回并行元素的元组的列表,可用于在for中遍历数个数列

>>循环计数器:while和range

range

当range函数只有一个参数时,会返回从零算起的整数列表,但其中不包括该参数的值。如果传进两个参数,那第一个参数是上边界,第二个参数是下边界。如果传进三个参数时,第三个参数表示步进值。

range提供了一种简单的方法,重复特定次数的动作:

1

2

for iin range(5):

print(i,'Pythons')

相应的C++代码则是:

1

2

3

4

5

int i;

for(i = 0;i < 5;++i)

{

std::cout<

}

>>并行遍历:zip和map

zip会取得一个或多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。

1

2

3

L1=[1,2,3,4]

L2=[5,6,7,8]

list(zip(L1,L2))

上述代码的执行结果是:

1

[(1,5),(2,6),(3,7),(4,8)]

当参数的长度不同时,zip会以最短序列的长度为准来截断所得到的元组。

使用zip构造字典:

1

2

3

keys=['spam','eggs','totast']

values=[1,2,5]

D= dict(zip(keys,values))

>>产生偏移和元素:enumerate

enumerate函数一个比较新的内置函数,它能同时返回元素值和偏移值:

1

2

3

s='spam'

for (offset,item)in enumerate(s):

print(item,'appears at offset',offset)

;