python基础之if、while、for语句

1、if语句的基本用法:

1 name = "math"
2 if name == "no":
3     print(88)
4 elif name == "lin":
5     print(77)
6 elif name == "math":
7     print("66")
8 else:
9     print("55")

 2、while语句(包括break和continue)与C语言中的类似,值得一提的是else,这个else只有再循环正常结束时才会执行,即没有碰到break语句。

1 x = [1, 2, 3, 4]
2 while x:
3       if x[0] == 3:
4             print(x[0])
5             break
6       x = x[1:]
7 else:
8       print("not found")

输出结果为:3

continue和break的区别:这两个都是跳出循环;但是continue是跳出单层循环,执行continue之后立刻回到循环的顶端。break语句只要一执行就会立刻跳出循环。

3、for语句是python中的一个通用的序列迭代器,可以遍历字符串、列表、元组、其他的内置可迭代对象以及通过类创建的新对象。for语句跟while语句类似,也有else分支,在没有碰到break的情况下才会执行,下面举例说明:

 1 for x in [1, 2, 3, 4]: #遍历列表
 2       print(x)
 3 
 4 
 5 for s in "python":      #遍历字符串
 6       print(s)
 7 
 8 
 9 
10 T = [(1, 2), (3, 4), (5, 6)]
11 for (a, b) in T:        #遍历元组序列
12       print(a, b)

输出:

1
2
3
4
p
y
t
h
o
n
1 2
3 4
5 6

 

4、在循环语句中、常常使用range()函数,第一个参数表示起点,第二个参数表示终点,第三个参数表示步长;期中第一个和第三个参数可以省略,例如:

 1 a = list(range(5))
 2 
 3 b = list(range(2, 5))
 4 
 5 c = list(range(0, 10, 2))
 6 
 7 
 8 print(a)    #[0, 1, 2, 3, 4]
 9 print(b)    #[2, 3, 4]
10 print(c)    #[0, 2, 4, 6, 8]

非完备遍历:

1 S = "abcdefghijk"
2 
3 a = list(range(0, len(S), 2))
4 
5 print(a)    #[0, 2, 4, 6, 8, 10]
6 
7 for i in a:
8       print(S[i], end=" ")        #a c e g i k 

并行遍历:

 1 #  zip会取一个或者多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对
 2 
 3 L1 = [1, 2, 3, 4]
 4 L2 = [5, 6, 7, 8]
 5 
 6 
 7 a = list(zip(L1, L2))
 8 print(a)    #[(1, 5), (2, 6), (3, 7), (4, 8)]
 9 
10 for (x, y) in zip(L1, L2):
11       print(x, y, "--->", x+y)
1 #  在python2中内置map函数,用类似的方法配对起来,但是如果参数长度不同,则会为较短的序列用None补齐
2 
3 S1 = "abc"
4 S2 = "xyz123"
5 
6 map(None, S1, S2)
7 # [('a', 'x'), ('b', 'y'), ('c', 'z'), (None, '1'), (None, '2'), (None, '3')]
1 #  在python3中 map(f, list):把list上面的元素依次作用于f上,并返回一个新的list
2 
3 a = list(map(ord, "spam"))
4 print(a)    #[115, 112, 97, 109]
 1 #  enumerate:同时产生偏移量和元素
 2 
 3 S = "spam"
 4 for (x, y) in enumerate(S):
 5       print(x,"--->", y)
 6 '''
 7 输出:
 8       0 ---> s
 9       1 ---> p
10       2 ---> a
11       3 ---> m
12 '''

 

posted on 2017-08-27 21:19  xyp123  阅读(159)  评论(0编辑  收藏  举报

导航