1.条件语句
(1)if 语句
格式是这样子的:
if expression:
expr_ture_suite
当条件表达式expression成立时,执行if语句 expr_pure_suite,否则执行if语句后面的代码。
举个例子哈
if 1 < 2 or 1 == 3:
print("Right")
#Right
(2)if-else语句
格式是这样子:
if expression:
expr_true_suite
else:
expr_false_suite
if语句中,条件语句若成立,执行if后面语句,否则执行else后面语句。
举个具体例子:
a = input("Is baishao a handsome boy?") #对的打1,错的打0
guess = int(a)
if guess == 1:
print("you are right!")
else:
print("you are wrong!")
print("time is up, so game over")
#Is baishao a handsome boy? 1
#you are right!
#time is up, so game over
注意:if语句支持嵌套;以及else的缩进,不同位置对应不同的if
(3)if-elif-else语句
解释一下,elif就是else if
所以这种语句结构如下:
if expression1:
expr1_ture_suite
elif expression2:
expr2_ture_suite
.
.
.
elif expressionN
exprN_ture_suite
else:
expr_false_suite
(4)assert关键词
assert这个词翻译过来就是断言。当assert后面的条件不成立时,程序自动崩溃,并且弹出AssertionError的异常。
注:只有条件为true时,程序才可正常运行。
2.循环语句
(1)while循环
当布尔表达式成立时,代码块一直执行,直到布尔表达式不成立为止。
while 布尔表达式:
代码块
举个例子:
i =0
while i < 5:
print(i)
i = i + 1
print("game over!")
'''
0
1
2
3
4
game over!
'''
(2)while-else循环
while 布尔表达式:
代码块1
else:
代码块2
当while后布尔表达式成立时,执行代码块1;否则执行代码块2,与上大致同,不再赘述。
(3)for循环
for循环是一个迭代循环,在python中相当于一个通用序列迭代器,可以遍历任何有序序列,包括str、list、tuple等;也可以遍历任何迭代对象,如dict。
for 迭代变量 in 可迭代对象:
代码块
其中,每次循环时,迭代变量被设置成可迭代对象的当前元素,提供给代码块使用。
来个简单小例子:
for i in 'ILoveTHU':
print(i, end=' ')
#I L o v e T H U
(4)for-else循环
for 迭代变量 in 可迭代对象:
代码块
else:
代码块
当for循环顺利执行完,则执行else代码块。
如果for循环中执行了跳出循环的语句,比如break,将不执行else代码块。
(5)range()函数
其具体形式是这样子的:
range([start,] stop [,step=1])
这个BIF(Built-in functions)有三个参数,用中括号括起的两个参数是可选的
其中,step=1 表示第三个参数默认值为1
作用:生成一个从start参数的值开始到step参数的值结束的数字序列,该序列包含start的值但不包含stop的值。
例如生成一个从1到9的数字序列,step=1
for i in range(1,10): #不包括10
print(i)
#1
#2
#3
#4
#5
#6
#7
#8
#9
(6)numerate()函数
表达式如下:
enumerate(sequence, [start=0])
解释一下哈,这个sequence指的是一个序列、迭代器或其他支持迭代对象,start指的是下标起始位置。
返回enumerate(枚举)对象
引用一个例子
注:enumerate()与for循环可结合使用
for i, a in enumerate(A)
do something with a
用enumerate(A)不仅返回A的元素,还给了该元素一个索引值,默认为0。
(7)break语句
break语句表示中断,跳出当前所在层的循环。
(8)continue语句
终止本轮循环并开始下一轮循环。
这一段代码不理解
(9)pass语句
pass语句是空语句,不作任何操作,只起到了占位的作用
(10)推导式
其实区别就在于外边括号的不同。
列表推导式:
[ expr for value in collection [if condition] ]
元组推导式:
( expr for value in collection [if condition] )
字典推导式:
{ key_expr: value_expr for value in collection [if condition] }
集合推导式:
{ expr for value in collection [if condition] }