Python-条件控制及循环

一、条件控制

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块,而计算机很多自动化任务,也是根据条件判断来实现的。

我们可以通过下图,来了解一下条件语句执行的过程

语法:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

说明:

如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
如果 "condition_1" 为False,将判断 "condition_2"
如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
如果 "condition_2" 为False,将执行"statement_block_3"块语句
#Python中用elif代替了else if
语法格式注意:
a、每个条件后面都要使用冒号(:),表示接下来是满足条件后要执行的语句块。
b、使用缩进来划分语句,相同缩进为要在一起执行的语句块
c、在Python没有switch-case语句

例子:

age = int(input("请输入年龄:"))
if age > 18:
    print("你猜大了")
elif age < 18:
    print("你猜小了")
else:
    print("Good!猜对了")
输出:
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
请输入年龄:12
你猜小了

if判断语句的常用操作符:

if的嵌套

num=int(input("输入一个数字:"))
if num%2==0:
    if num%3==0:
        print ("你输入的数字可以整除 2 和 3")
    else:
        print ("你输入的数字可以整除 2,但不能整除 3")
else:
    if num%3==0:
        print ("你输入的数字可以整除 3,但不能整除 2")
    else:
        print  ("你输入的数字不能整除 2 和 3")
输出:
输入一个数字:6
你输入的数字可以整除 2 和 3

二、循环语句-While循环

1、语法

while 判断条件:           #条件成立就循环
    语句

2、例子

i = 0
y = 0
while True:
    i += 1
    print(i)         #打印1到100的数
    y = y + i
    if i >= 100:    
        print(y)     #打印1到100 的和
        break      #这里我们用到了break 他是一个跳出语句,我们一会会说
输出看隐藏代码
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
5050
View Code

有得时候我们希望用户无限输入,这个时候我们就用到无限循环了,看下例子:

# var = 1
# while var == 1:         #这里我们还可以用True
while True:
    num = int(input("输入一个数字:"))
    print("你输入的数字是:",num)

while循环使用else语句

说明:else代码块是在while循环正常结束的时候才执行,我们来看两个例子

例:

i = 0
y = 0
while i < 6:
    i += 1
    print(i)       #打印I+1之后的i
    y = y + i   
    if i > 5:      #这个时候i等于6了
        print(y)     #打印y
              #这里我们用到了break 他是一个跳出语句,我们一会会说
else:
    print("执行了else语句")
#while 循环正常退出了,打印了else后面的语句
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
1
2
3
4
5
6
21
执行了else语句

非正常退出的,也就是使用break跳出的,不执行else后面的语句

例:

i = 0
y = 0
while i < 6:
    i += 1
    if i == 3:
        continue    #等于3的时候不打印,继续下次循环
    print(i)       #打印I+1之后的i
    y = y + i
    if i > 5:      #这个时候i等于6了
        print(y)     #打印y
              #这里我们用到了break 他是一个跳出语句,我们一会会说
else:
    print("执行了else语句")
    
#这个例子告诉我们continue 并不是跳出循环语句
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
1
2
4
5
6
18
执行了else语句

下面我们看个break的
i = 0
y = 0
while i < 6:
    i += 1
    if i == 3:
        #continue    #等于3的时候不打印,继续下次循环
        break       #换成了break
    print(i)       #打印I+1之后的i
    y = y + i
    if i > 5:      #这个时候i等于6了
        print(y)     #打印y
              #这里我们用到了break 他是一个跳出语句,我们一会会说
else:
    print("执行了else语句")
#看输出当i等于3的时候之间跳出了循环,也没有打印else之后的语句
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
1
2

简单的语句组

类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:

while (True): print ('你是大傻逼!!!')     #(括号里可以是任何条件语句)
#看输出,简直是无限输出
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
你是大傻逼!!!
你是大傻逼!!!
你是大傻逼!!!
你是大傻逼!!!
你是大傻逼!!!
你是大傻逼!!!
你是大傻逼!!!
你是大傻逼!!!
你是大傻逼!!!

好了,while基本上就这些了,我们来看一下,另一个循环,for。

三、循环语句-for

for循环可以遍历任何序列的项目,例:列表、字典、或者一个字符

语法:

for <variable> in <sequence>:     
    <statements>
else:
    <statements>

例子:

for i in range(10):    #通过range,列出从0-9的数字并打印
    print(i)
输出:
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
0
1
2
3
4
5
6
7
8
9

============================================

for i in "Python":
    print(i)
#循环字符串
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
P
y
t
h
o
n

============================================
list = ["Alex","huige","lisa",1,2]    #定义字典
for i in list:    #遍历字典
    print(i)  
#输出如下:
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
Alex
huige
lisa
1
2
============================================
dict = {"name":"Alex","Age":18,"salary":3000000}
for i in dict: #遍历字典键
    print(i)   # 打印键
输出
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
salary
Age
name

for 循环步长,意思是每循环一次,走的步数。

例子:

for i in range(0,10,2):    #第一个0代表开始的数字,第二个10位循环次数,第三个2代表步长
    print(i)
#输出:
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
0
2
4
6
8

for循环字典,打印字典的值

例:

dict = {"name":"Alex","Age":18,"wage":30000,"Class":"16期"}
for i in dict:      #循环字典
    print(dict[i])
输出:
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
Alex
18
30000
16期
Alex

四、循环语句中的break和continue

1、break,跳出当前循环。

例:

for i in "python":
    if i == "h":      #当i等于h的时候跳出循环
        break
    else:
        print("i的值是:%s" % (i))
# 输出:
# C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
# i的值是:p
# i的值是:y
# i的值是:t

var = 10
while var > 0:
    print("打印var的值:%s" % (var))
    var -= 1      #var每次减去1,再赋值给自己
    if var == 5:   #当var等于5的时候跳出循环
        break
print("Bay")
# 输出:
# C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
# 打印var的值:10
# 打印var的值:9
# 打印var的值:8
# 打印var的值:7
# 打印var的值:6
# Bay

2、countinue用法

作用:跳过当次循环,执行下次循环

例子:

for i in "python":
    if i == "h":      #当i等于h的时候,不执行这次循环,直接执行下次循环
        continue
    else:
        print("i的值是:%s" % (i))
#输出:
# C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
# i的值是:p
# i的值是:y
# i的值是:t
# i的值是:o
# i的值是:n 


var = 5
while var > 0:
    var -= 1      #var每次减去1,再赋值给自己
    if var == 3:   #当var等于3的时候直接循环下次
        continue
    print("打印var的值:%s" % (var))
print("Bay")
# 输出
# C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
# 打印var的值:4
# 打印var的值:2
# 打印var的值:1
# 打印var的值:0
# Bay

五、pass语句

作用:Python pass是空语句,是为了保持程序结构的完整性;pass不做任何事情,一般用占位语句。

例子:

for i in "python":
   if i == 'o':
      pass
      print ("执行pass块")
   print ("当前字母:%s" %(i) )
输出:
C:\Python35\python.exe D:/linux/python/all_test/listandtup.py
当前字母:p
当前字母:y
当前字母:t
当前字母:h
执行pass块
当前字母:o
当前字母:n

结束

 

posted @ 2017-01-23 16:05  牛逼点的名字  阅读(6725)  评论(0编辑  收藏  举报