python(二)—选择和循环结构
一、选择结构
选择结构有三种,分别为单分支,双分支,多分支选择结构
if语句的执行过程是:计算表达式的值,若值为true,则执行if后面的语句块,若为false,则直接执行后续语句
·单分支选择一般格式为:
if 条件句:
语句块
·双分支选择结构一般格式为:
if 条件句:
语句块
else:
语句块
·多分支选择结构一般格式:
if 条件句:
语句块
elif 条件句:
语句块
else:
语句块
下面演示一个例子:
s = int(input("your grade:")) #input输入是返回数值字符串类型(str),调用int()函数转换为整型
if s > 90:
print ("优秀")
elif s >=60:
print("及格")
else:
print("不及格")
your grade:50
不及格
elif是else if的缩写,完全可以有多个elif,if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
二、循环结构
1、while语句
while的表达式表示循环条件,先计算表达式的值,结果解释为true或者false,如果是true,执行循环体中的语句,如果是false,才结束循环。
·while语句一般表达式为:
while 表达式:
语句块(循环体)#循环体可以是单语句,也可以是多语句,多语句必须缩进对齐
例如:
p,n,r = 1,0,0.3
while p < 2:
n+=1 #相当于 n=n+1
p*=1+ r
print (n,p)
注意:如果表达式永远为true,循环体将会无限的执行下去(“死”循环),所以要修改表达式的值,使其趋向false的值,尽量避免死循环,进入死循环后,可用Ctrl+C退出死循环。例如:
n = 1
while n ==1:
print('good')
·在while语句中使用else语句
else会在循环正常执行完情况下执行,例如:
n = int(input())
while n < 3:
print(n)
n+=1
else:
print("n>=3",n)
2、for循环
for语句的一般格式为:
for 目标变量 in 序列对象:
语句块
for语句将序列对象中元素逐个赋值给目标变量,目标变量的作用的存储每一次循环引用的序列对象元素,每一次赋值,执行一遍语句块,序列遍历后,结束循环后,执行for后面的语句。列表,元组,字符串都可以当序列,用于for循环时,元组和列表都是同样的作用,循环的次数取决于序列元素的个数,而不是值。例如:
·遍历列表循环
fs = ['a','b','c']
for f in fs:
print(f)
a
b
c
·遍历元组循环
ys = ('a','b','c')
for y in ys:
print(y)
·遍历字符串循环
st = "hello,world"
for i in st:
print(i)
·在循环体中也可以引用目标变量,这样能控制循环次数
s = 0
for i in ['1','2','3']:
print(i)
s=i+1
print(s)
·可以在循环体中修改目标变量的值,当程序执行循环再次回到循环开始是,会被当成下一个元素,退出循环后,该变量就是循环序列中最后的元素,例如:
s = ['1','2','3']
for i in s:
print(i)
i=5
print("修改后i的值",i)
print("结束循环后i的值",i)
print("结束循环后s的值",s)
·for语句也支持else快,功能和while一样,如果循环离开没有遇到break语句,就会执行else语句。例如;
for i in ['1','2','3']:
print(i)
else:
print("hello,world")
1
2
3
hello,world
·range对象在for循环中的使用
rang()函数返回的是可迭代的对象,python调用内置函数iter()获得迭代器,自动调用内置函数next()获取元素,如果遍历一个数列,可以用range 对象,例如:
for i in rang(0,1):
print(i)
1
·注意:在这里说明一下range的用法
>>> range(5) #代表从0到5(不包含5)
[0, 1, 2, 3, 4]
>>> range(1,5) #代表从1到5(不包含5)
[1, 2, 3, 4]
>>> range(1,5,2) #代表从1到5,间隔2(不包含5)
[1, 3]
3、break语句
break用在循环体中,让循环停止,继续执行循环结构后面的语句。例如:
n = 5
while n>0:
print(n)
n=n-1
if n==2:break
print("循环结束后的n:",n)
5
4
3
循环结束后的n: 2
4、continue语句
continue语句执行时,不会退出循环结构,而是结束本次循环,重新开始下一轮循环,也是就跳过continue后面的语句,例如
n = 0
while n < 10:
n = n + 1
if n == 3: # 当n=3,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
1
2
4
5
·注意:continue和break的区别就是continue只结束本次循环,而不是终止整个循环,break是跳出所在的循环体
5、pass语句
pass是一个空语句,代表空操作。循环体可以包括一个或多个语句,但不能空语句,所以当只是想让程序循环一定次数,循环过程什么都不操作,就可以调用pass。例如
for x in rang(0,10):#该语句会循环10次,但是循环之外,什么都没操作
pass
for i in 'hello':
if i=='o':
pass
print("world")
print(i)
h
e
l
l
world
o
领取专属 10元无门槛券
私享最新 技术干货