Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
Python程序语言指定任何非0和非空(null)值为true,0或者null为false。
Python编程中if语句用于控制程序的执行,基本形式为:
If 判断条件:
执行语句…
else:
执行语句….
其中”判断条件”成立时(非零),则执行后面的语句,而执行内存可以多行,以缩进来区分表示同一范围。else为可选语句,当需要在条件不成立时执行内容可以执行相关语句。
Gif演示:
具体例子如下:
# -*- coding: UTF-8 -*-
flag = False
name = 'luren'
if name == 'python': #判断变量是否为 python
flag = True #条件成立时设置标志为真
print('welcome boss') #并输出欢迎信息
else:
print(name) #条件不成立时输出变量名称
运行结果:
luren
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if 判断条件1:
执行语句1…
elif 判断条件2:
执行语句2…
elif 判断条件…
执行语句3…
else:
执行语句4…
实例如下:
# -*- coding: UTF-8 -*-
num = 5
if num == 3: #判断num的值
print("boss")
elif num == 2:
print("user")
elif num == 1:
print("worker")
elif num < 0: #值小于零是输出
print("error")
else:
print("roadman") #条件均不成立时输出
运行结果:
roadman
由于python并不支持switch语句,所以多个条件判断,只能用elif来实现,如果判断需要多个条件同时判断时,可以使用or(或),表示两个条件有一个成立时判断条件成功;使用and(与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
# -*- coding: UTF-8 -*-
num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
print('hello')
# 输出结果: hello
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print('hello')
else:
print("undefine")
# 输出结果:undefine
num = 11
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print("hello")
else:
print("undefine")
#输出结果:undefine
当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
# -*- coding: UTF-8 -*-
var = 100
if (var == 100) : print("变量var的值为100")
print("Good Bye")
# -*- coding: UTF-8 -*-
var = 100
if (var == 100) : print("变量var的值为100")
print("Good Bye")
运行的值是:
变量var的值为100
Good Bye
循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式。
Python提供了for循环和while循环(在Python中没有没有do…while循环):
案例:
def deduplication(self,nums): #找出排序数组的索引
# for i in range(len(nums)) :
# if nums[i] == self:
# return i
i = 0
for x in nums:
if self > x:
i += x
return i
print(deduplication(5,[1,3,5,6]))
运行结果:
4
Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处需要重复处理的相同任务。其基本形式为:
while 判断条件(condition):
执行语句(statements)……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true.
当判断条件假false时,循环结束。
执行流程图如下:
Gif 演示 Python while 语句执行过程
复杂一点
实例:
# -*- coding: UTF-8 -*-
count = 0
while (count < 9):
print("The count is :",count)
count = count + 1
print("Good bye!")
运行结果:
D:\installed\Anaconda3\python.exe "E:/workspace/python/python/06_Python While循环.py"
The count is : 0
The count is : 1
The count is : 2
The count is : 3
The count is : 4
The count is : 5
The count is : 6
The count is : 7
The count is : 8
Good bye!
While语句时还有另外两个重要的命令continue,break来跳过循环,break则是用于退出循环,此外”判断条件”还可以是个常值,表示循环必定成立,具体用法如下:
# -*- coding: UTF-8 -*-
i = 1
while i < 10:
i += 1
if i % 2 > 0: #非双数时跳过输出
continue
print(i) #输出双数2、4、6、8、10
print("=============================")
i = 1
while 1: #循环条件为1必定成立
print(i) #输出1~10
i += 1
if i > 10: #当i大于10时跳出循环
break;
运行结果:
D:\installed\Anaconda3\python.exe "E:/workspace/python/python/06_Python while循环/01_continue_break.py"
2
4
6
8
10
=============================
1
2
3
4
5
6
7
8
9
10
var = 1
while var == 1 : # 该条件永远为true,循环将无限执行下去
num = input("Enter a number :")
print("You entered: ", num)
print("Good bye")
运行结果:
D:\installed\Anaconda3\python.exe "E:/workspace/python/python/06_Python while循环/02_无限循环.py"
Enter a number :12
You entered: 12
Enter a number :14
You entered: 14
Enter a number :16
You entered: 16
Enter a number :
在Python中,while … else在循环条件为false时执行else语句块:
# -*- coding: UTF-8 -*-
count = 0
while count < 5:
print(count,"is less than 5")
count = count + 1
else:
print(count,"is not less than 5")
输出结果:
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5
类似if语句的语法,如果你的while循环中只有一条语句,你可以将该语句与while写在同一行中,如下所示:
# -*- coding: UTF-8 -*-
flag = 1
while (flag):print("Given flag is really true!")
print("Good bye!")
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
for interating_var in sequence:
statements(s)
案例:
# -*- coding: UTF-8 -*-
for letter in 'Python': #第一个实例
print("当前字母:",letter)
print("-------------------------")
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: #第二个实例
print("当前水果:",fruit)
print("Good bye")
运行结果:
当前字母: P
当前字母: y
当前字母: t
当前字母: h
当前字母: o
当前字母: n
-------------------------
当前水果: banana
当前水果: apple
当前水果: mango
Good bye
另外一种执行循环方式是通过索引,如下实例:
# -*- coding: UTF-8 -*-
fruits = ['banana','apple','mango']
for index in range(len(fruits)):
print("当前水果:",fruits[index])
print("Good bye!")
运行结果:
当前水果: banana
当前水果: apple
当前水果: mango
Good bye!
以上实例我们使用了内置函数len()和range()函数,函数len()返回列表的长度,即元素的个数。range返回一个序列的数。
在python中,for … else表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行,while … else也是一样。
Python语言允许在一个循环体里面嵌入另一个循环。
Python for循环嵌套语法:
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
Python while循环嵌套语法:
while expression:
while expression:
statement(s)
statement(s)
你可以在循环体内嵌其它的循环体,如在while循环中可以嵌入for循环,反之,你可以在for循环中嵌入while循环。
# -*- coding: UTF-8 -*-
i = 2
while i < 100:
j = 2
while j <= (i / j):
if not (i % j):
break
j = j + 1
if j > i / j:
print(i, " 是素数")
i = i + 1
print("Good bye!")
运行结果:
2 是素数
3 是素数
5 是素数
7 是素数
11 是素数
13 是素数
17 是素数
19 是素数
23 是素数
29 是素数
31 是素数
37 是素数
41 是素数
43 是素数
47 是素数
53 是素数
59 是素数
61 是素数
67 是素数
71 是素数
73 是素数
79 是素数
83 是素数
89 是素数
97 是素数
Good bye!
Python break语句,就像在C语言中,打破了最小封闭for或while循环。
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
break语句用在while和for循环中。
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
Python语言 break 语句语法:
break
实例:
# -*- coding: UTF-8 -*-
for letter in 'Python': #第一个实例
if letter == 'h':
break
print("当前字母:",letter)
var = 10
while var > 0:
print('当前变量值:',var)
var = var - 1
if var == 5: #当变量var等于5时退出循环
break
print("Good bye!")
运行结果:
当前字母: P
当前字母: y
当前字母: t
当前变量值: 10
当前变量值: 9
当前变量值: 8
当前变量值: 7
当前变量值: 6
Good bye!
Python continue 语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
Python 语言 continue 语句语法格式如下:
continue
# -*- coding: UTF-8 -*-
for letter in 'Python': #第一个实例
if letter == 'h':
continue
print('当前字母:',letter)
var = 10
while var > 0:
var = var - 1
if var == 5:
continue
print('当前变量值:',var)
print('Good bye')
运行结果:
当前字母: P
当前字母: y
当前字母: t
当前字母: o
当前字母: n
当前变量值: 9
当前变量值: 8
当前变量值: 7
当前变量值: 6
当前变量值: 4
当前变量值: 3
当前变量值: 2
当前变量值: 1
当前变量值: 0
Good bye
Python pass是空语句,是为了保持程序结构的完整性。
Pass不做任何事情,一般做占位语句。
Python语言pass语句格式化如下:
pass
案例:
# -*- coding: UTF-8 -*-
#输出Python的每个字母
for letter in 'Python':
if letter == 'h':
pass
print("这是pass块")
print('当前字母:', letter)
print("Good bye!")
运行结果:
当前字母: P
当前字母: y
当前字母: t
这是pass块
当前字母: h
当前字母: o
当前字母: n
Good bye!