比较运算符

布尔类型

布尔值有两个:True和False

例1:

a = True

a

例2:

2 == 3

提示:

1.不要把赋值(一个等号)与比较(两个等号)混淆。

2.Python是区分大小写的,所以True与true是不同的

不等于运算符

不等于运算符:!= 两边比较的项不相等时为True,相等则为False

例1:

1 != 1

False

例2:

3 != 5

True

大于 小于

python中使用<和>运算符来判断一个数字(浮点数或整数)是大于还是小于另一个数

例1:

2 > 4

False

例2:

9.0 > 3

True

大于等于 小于等于

python中使用>=和<=运算符来判断一个数字(浮点数或整数)是大于等于还是小于等于另一个数

例1:

1 >= 4

False

例2:

3 <= 9.0

True

提示:也可以使用比较运算符来按字母顺序比较字符串

例1:

"a" < "b"

True

例2:

"A" < "a"

True

判断语句

if语句

if 3 > 2:

print("ok")

提示:Python中使用缩进(一行的开始处的空白)来分隔代码块。

而其他语言如c语言则使用大括号来实现分隔代码块,(但在python中必须使用缩进)

例:

if 38 > 4:

print('38>4')

print('end')

描述:表达式38>4。于是执行缩进的代码块,所以会输出’38>4’。然后运行if语句之后的代码,并显示‘end’。

注1 :if语句表达式末尾使用冒号,不要忘记这个冒号。

注2 :由于程序包含多行代码,因此应该将其作为单独的代码创建并运行。

num = 15
if num > 5:
print("5")
if num <= 47:
print("47")

注:if语句允许嵌套使用,可用于执行复杂的判断。

内部if语句是外部语句的代码块部分。这是查看是否满足多个条件的一种方法。

else语句

x = 4
if x == 5:
print('yes')
else:
print('no')

注:else语句跟随在if语句之后,当if语句表达式计算结果为False时执行else的代码块。

和if语句一样,块内代码应该缩进。

num = 7
if num == 5:
print("number is 5")
else:
if num == 11:
print("number is 11")
else:
if num == 7:
print("number is 7")
else:
print("number isn\'t 5,11 or 7")

注:可以嵌套使用if/else语句,进行更加复杂的判断。

num = 7
if num == 5:
print("number is 5")
elif num == 11:
print("number is 11")
elif num == 7:
print("number is 7")
else:
print("number isn\'t 5, 11 or 7")

注:1. elif(else if的简写)语句是if和else语句使用的快捷方式。一系列if elif语句可以有一个最终的else块,如果if elif语句条件均不成立时会调用else代码块。

2. 在其他编程语句中,elif语句有不同的名称,包括else if,elseif或elsif。但在python中只能用elif,而不能识别else if。

逻辑运算符

且 ,或 ,非 and, or, not

逻辑运算符:用于为依赖于多个条件的if语句创建更复杂的条件。

python的布尔运算符分别是and,or和not

and 运算符有两个参数,只有两个参数都为True时,结果为True。否则结果为False

or 运算符有两个参数,只要两个参数有一个为True,结果就为True。否则结果为False

not 运算符只有一个参数,参数为True,结果就为False。否则结果为True

例1:

print(1 == 1 and 23 > 7)
print(2 == 1 and 34 > 3)
print(3 == 2 and 33 > 43)
print(1 == 1 or 23 > 7)
print(2 == 1 or 34 > 3)
print(3 == 2 or 33 > 43)
print(not 2 == 2)
print(not 3 == 7)

注:python的布尔运算符使用单词,而大多数其他语言使用符号(如&&,||和!)

运算符优先级

提示:python的操作顺序与正常数学的顺序相同,先括号,然后幂,然后乘除,再然后加减

运算符优先级列表

运算符符号 描述

2 () 小括号

** 指数(幂)

~ + - 按位翻转,一元加号和减号(最后两个的方法名为+@和-@)

/ % // 乘,除,取模(求余数)和取整除(求商)

加法减法

<< 右移,左移运算符

& 位‘AND’

^ | 位运算符

<= < > >= 比较运算符

< > == != 等于运算符

= %= /= //= -= += *= **= 赋值运算符

is is not 身份运算符

in not in 成员运算符

not or and 逻辑运算符

例:

x = 4
y = 2
if not 1 + 1 == y or x == 4 and 7 == 8:
print('yes')
elif x > y:
print('no')

while 循环

while循环

1.如果if语句计算结果为True,则if语句代码块会运行一次,如果计算结果为False,则不会运行。

2.while循环语句只要条件为True,while语句内代码块就会重复运行,当条件为False时就会停止while循环,程序继续往后执行

例:

i = 1
while 1 <= 5:
print(i)
i += 1
print("finished:")

迭代

迭代:while循环体中的代码被重复执行就被称为迭代

例:

i = 3
while i >= 0:
print(i)
i -= 1

while的无限循环

无限循环是一种特殊的while循环,它永远不会停止运行,它的条件总是True

例:

while 1 == 1:
print("in the loop")

无限循环的停止可以通过Ctrl-C快捷键或关闭程序来停止程序的执行

break语句

可以使用break语句提前结束while语句。在循环中遇到时,break语句会立即结束循环

例:

i = 0
while 1 == 1:
print(i)
i +=1
if i >= 5:
print("breaking")
break
print("finished")

注:在循环外部使用break语句会导致错误

i = 5
while True:
print(i)
i -= 1
if i <= 2:
break

continue语句

continue语句与break不同的是,continue语句是提前结束本次循环,进入下一次循环。

例:

i = 0
while True:
i = i + 1
if i == 2:
print("skipping 2")
continue
if i == 5:
print("breaking")
break
print(i)
print("finished")

注:continue语句停止当前的迭代,并继续下一个迭代。

在循环外部使用continue语句会导致错误

例:

age = 15
while age >1:
age = age - 1
if age == 12:
continue
print(age)
print("end")

列表

1、 列表是python中的另一种类型的对象。它们被用来存储索引的元素列表。

2、列表创建:方括号中用逗号分隔元素来创建一个列表

3、列表中元素的访问:可以通过使用方括号中的索引来访问列表中的元素。

例:

words = ['hello','world','kim']
print(words[0])
print(words[2])

注:列表中的索引是从0开始的,而不是从1开始的

4、空列表的创建:

例:

ds = []

print(ds)

注:大多数情况下,列表中的最后一项不会带逗号。然而,在列表最后一项放置一个逗号是完全有效的,在某些情况下是鼓励的。

例:列表[2,]有1项

5、列表的元素允许包含不同的数据类型

6、列表也可允许嵌套在其他列表中

例:

num = 23
things = ["sthings",0,1,[4,5,num],3]
print(2)

7、引用超出列表值的索引范围将导致IndexError错误

例:

s = [3,4,5]

print(4)

列表操作

1、列表中某个索引处的元素可以重新分配

例:

num = [2,4,5,65,4]
num[1] = 9
print(num)

2、列表可以像字符串一样添加和相乘

例:

num = [1,2,3]
print(num+[7,6,5])
print(num*3)

注:列表和字符串在很多方面是相似的,字符串可以被认为是不能改变的字符列表

例:

num = [33,42,56]
num[1] = 22
print(num)

3、in运算符:要查找某个值是否在列表,可以用in运算符。如果值在列表中出现一次或多次,则返回True,否则返回

False

例:

words = ['spam','egg','spam','kjj']
print('spam' in words)
print('egg' in words)
print('dd' in words)

注:in运算符也用于确定一个字符串是否是另一个字符串的子字符串。

例:

nums = [10,9, 8,7,6,5]
nums[0] = nums[1] - 5
if 4 in nums:
print(nums[3])
else:
print(nums[4])

4、要某个值是否不在列表中,可以使用not操作符

例1:

num = [1,2,3]
print(not 4 in num)
print(4 not in num)
print(not 3 in num)
print(3 not in num)

例2:

letters = ['a','b','z']
if not 'c' in letters:
print('yes')

列表函数

append方法 在列表末尾添加元素

可以使用append方法将一个元素添加到现有列表的末尾。

例:

num = [1,2,3]
num.append(4)
print(num)

注:append是列表类的一个方法

例:

word = ['hello']
word.append('world')
print(word[1])

len函数 获取列表中元素数量

例:

num = [2,4,6,7,5]
print(len(num))

注:与append方法不同,len是一个正常的函数,而不是一个方法。这意味着它写在被调用的列表之前

例:

letter = ['a','b','c']
letter.append('d')
print(len(letter))

insert方法 在列表中任何位置插入一个新元素

例:

word = ['w3cschool','good']
index = 1
word.insert(index,"is")
print(word)

index方法 获取列表项的第一个匹配项的索引

如果该项目不存在列表中,则会引发ValueError

例:

let = ['p','q','r','s','p','u']
print(let.index('r'))
print(let.index('p'))
print(let.index('z'))

总结

max(list): 返回具有最大值的列表元素

min(list): 返回具有最小值的列表元素

list.count(obj): 返回一个元素在一个列表中出现的次数

list.remove(obj): 从列表中删除一个元素

list.reverse(): 颠倒列表中的元素的顺序

范围(Range)

1、range函数:创建一个顺序的数字列表

例:

number = list(range(10))
print(number)

注:Range本身会创建一个range对象,所以调用list函数将其转换为列表。

2、如果使用一个参数调用range,则会生成0到该参数值的对象。

如果使用两个参数调用范围,则会从第一个值到第二个值的对象

例:

num = list(range(3,8))
print(num)
print(range(20) == range(0,20))

3、range可以有第三个参数,第三个参数决定了产生的序列的间隔

例:

num = list(range(5,20,2))
print(num)