布尔运算
学习循环之前,先了解一个概念:布尔运算
布尔运算是数字符号化的逻辑推演法,包括联合、相交、相减。在图形处理操作中引用了这种逻辑运算方法以使简单的基本图形组合产生新的形体,并由二维布尔运算发展到三维图形的布尔运算。
由于布尔在符号逻辑运算中的特殊贡献,很多计算机语言中将逻辑运算称为布尔运算,将其结果称为布尔值。
以上转自百度百科
计算机编程布尔运算:
逻辑运算通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。
Python比较运算符
假设表内变量a = 10, b = 20
运算符 | 描述 | 实例 |
== | 等于-比较对象是否相等 | a == b 返回 False |
!= | 不等于-比较对象是否不相等 | a != b 返回 True |
> | 大于-返回x是否大于y | a > b 返回 False |
< | 小于-返回x是否小于y | a < b 返回 True |
>= | 大于等于-返回x是否大于等于y | a >= b 返回 False |
<= | 小于等于-返回x是否小于等于y | a <= b 返回 True |
所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。
Python逻辑运算符
假设表内变量a = 10, b = 20
运算符 | 逻辑表达式 | 描述 | 实例 |
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | a and b 返回 20 |
or | x or y | 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 | a or b 返回 10 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
此外,还有以下运算输出布尔值,分别是成员运算以及身份运算:
Python成员运算符
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
Python身份运算符
运算符 | 描述 | 实例 |
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False |
以上这些运算类型都是用来得到布尔值的。那么布尔值True和False有什么用呢?
条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
Python 编程中 if 语句用于控制程序的执行,其结构形式为:
if 条件: 代码块 else: 代码块
其中"条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。
示例如下:
name = "John" if name == "John": print("Welcome back, Boss!") else: print("User name is incorrect!")
结果
Welcome back, Boss!
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if 条件1: 代码块1…… elif 条件2: 代码块2…… elif 条件3: 代码块3…… else: 代码块4……
实例如下:
a = "q" if a = "l": print("Login") elif a = "c": print("Check") elif a = "d" print("Delete") elif a = "u": print("Update") elif a = "i": print("Insert") else: print("Quit")
运行结果
Quit
如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
如:
name = "John" password = "985" if name == "John" and password == "456": print("Login successful!) else: print("Incorrect name or password!")
运行结果
Incorrect name or password!
重头戏来了,python循环。python循环有2个语句,一个是while,一个是for。
while循环
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while 判断条件: 执行语句……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件为false时,循环结束。
a = 1 while a < 10: print(a) a += 2
结果
1 3 5 7 9
无限循环
如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例:
age = input("Age: ") while True: if age == "18": print("Bingo!") elif age < "18": print("Too young!") else: print("Too old!")
结果:无论输入任何值,都会无限输出该条件下的语句。如何结束呢?这里介绍2个语句:break和continue
break用于跳出循环
continue用于跳过该次循环
i = 1 while i < 10: i += 1 if i%2 > 0: # 非双数时跳过输出 continue print i # 输出双数2、4、6、8、10 i = 1 while 1: # 循环条件为1必定成立 print i # 输出1~10 i += 1 if i > 10: # 当i大于10时跳出循环 break
循环使用else语句
在 python 中,while … else 在循环条件为 false 时执行 else 语句块:
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
for循环语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的语法格式如下:
for iterating_var in sequence: statements(s)
for letter in 'Python': # 第一个实例 print '当前字母 :', letter
结果:
当前字母 : P 当前字母 : y 当前字母 : t 当前字母 : h 当前字母 : o 当前字母 : n
循环使用 else 语句
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
for n in range(10, 20): for i in range(2, n): if n % i == 0: print('%d是一个整数' %n) break else: print(n, '是一个质数')
结果
10是一个整数 11 是一个质数 12是一个整数 13 是一个质数 14是一个整数 15是一个整数 16是一个整数 17 是一个质数 18是一个整数 19 是一个质数