基础知识—流程控制
一.if语句
'''
代码块:
1、代码块指的是同一级别的代码,在python中用缩进相同的空格数(除了顶级代码块无任何缩进之外,其余代码块都是在原有的基础上缩进4个空格)来标识同一级的代码块
2、同一级别的代码块会按照自上而下的顺序依次运行
'''
语法一
'''
if 条件: # 条件成立的情况下会运行子代码块
子代码1
子代码2
子代码3
...
'''
print('sdsd')
x=1123
y=456
l=[1,2,3,]
print(x,y,l)
if 10 > 3:
print(1)
print('结束啦')
示范一:
age = 73
age = 18
sex='female'
is_beautiful=True
if age > 16 and age < 20 and sex=='female' and is_beautiful:
print('开始表白。。。')
print('我是if之后的代码,是顶级代码')
语法二:
'''
if 条件: # 条件成立的情况下会运行子代码块
子代码1
子代码2
子代码3
...
else: # 条件不成立的情况下会运行else包含的子代码块
子代码1
子代码2
子代码3
...
'''
示范一:
age = 73
age = 18
sex='female'
is_beautiful=True
if age > 16 and age < 20 and sex=='female' and is_beautiful:
print('开始表白。。。')
else:
print('阿姨好,我们不太合适,还是做朋友吧。。。')
print('我是if之后的代码,是顶级代码')
语法三:
'''
if 条件1: # 条件1成立的情况下会运行子代码块
子代码1
子代码2
子代码3
...
elif 条件2: # 条件2成立的情况下会运行子代码块
子代码1
子代码2
子代码3
...
elif 条件3: # 条件3成立的情况下会运行子代码块
子代码1
子代码2
子代码3
...
......
else: # 上述条件都不成立的情况下会运行else包含的子代码块
子代码1
子代码2
子代码3
...
'''
示范: 如果:成绩>=90,那么:优秀
如果成绩>=80且<90,那么:良好
如果成绩>=70且<80,那么:普通
其他情况:很差
score=input('请输入您的分数进行查询:') # score="abc"
if score.isdigit(): # "99".isdigit()
score=int(score) # 把纯数字的字符串转换成整型,score=int("99")
if score >= 90:
print('成绩的级别为:优秀')
elif score >= 80:
print('成绩的级别为:良好')
elif score >= 70:
print('成绩的级别为:普通')
else:
print('成绩的级别为:很差')
else:
print('必须输入纯数字')
一、什么是循环?
循环就是重复做一件事
二、为何要用循环?
为了让计算机能够像人一样去重复做事情
二.while循环
1. 基本语法
while 条件:
子代码1
子代码2
子代码3
2. 死循环:循环永远不终止,称之为死循环
count=0
while count < 5:
print(count)
while True:
print('ok')
3. 如何终止循环
方式一:把条件改成假,必须等到下一次循环判断条件时循环才会结束
tag=True
while tag: # tag=False
print('ok')
tag=False
print('hahahahhahahahahahaha')
方式二:break,放到当前循环的循环体中,一旦运行到break则立刻终止本层循环,不会进行下一次循环的判断
while True:
print('ok')
break
print('hahahahhahahahahahaha')
4. 嵌套多层循环,需求是想一次性终止所有层的循环,推荐使用方式二
方式一:
while 条件1:
while 条件2:
while 条件3:
break
break
break
方式二:
tag=True
while tag:
while tag:
while tag:
tag=False
5. while+continue: continue会结束本次循环,直接进入下一次循环
count = 1
while count < 6: # 5 < 6
if count == 4: # 4==4
count += 1 # count=5
continue # 强调:在continue之后不应该写与其同级的代码,因为为将无法运行
print(count)
count += 1 # 6
6. while+else
count=1
while count < 6:
# if count == 3:break
if count == 4:
count+=1
continue
print(count)
count+=1
else:
#else对应的子代码块会在while循环结束后,并且不是被break强行结束的情况下执行
print('====end====')
三.for循环
针对循环取值操作,while循环并不擅长,于是python提供一个专门循环取值操作:for循环
#for循环基本语法
for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串列表字典,我们之后会专门讲解可迭代对象
代码一
代码二
...
#例1
for item in ['a','b','c']:
print(item)
# 运行结果
a
b
c
# 参照例1来介绍for循环的运行步骤
# 步骤1:从列表['a','b','c']中读出第一个值赋值给item(item=‘a’),然后执行循环体代码
# 步骤2:从列表['a','b','c']中读出第二个值赋值给item(item=‘b’),然后执行循环体代码
# 步骤3: 重复以上过程直到列表中的值读尽
# 列2
for k in {'name':'jason','age':18,'gender':'male'}: # for 循环默认取的是字典的key赋值给变量名k
print(k)
#for+range():range用来产生一个数字序列
# 用途1:用来重新n次某段代码
# 用途2:range可以用来产生数字序列,数字对应的是列表的索引
# 所以说,for+range()是可以按照索引编列列表
# range(1,3) # 从1开始,顾头不顾尾 # range(1,6,2) # 可以指定步长,1 3 5
# for x in range(1,3): # [1,2]
# print(x)
# for+break
# for i in range(3): #
# username=input('username>>: ')
# password=input('password>>: ')
# if username == 'egon' and password == '123':
# break
# else:
# print('用户名或密码错误')
# for+continue
for i in range(5): # [0,1,2,3,4]
if i == 2 or i == 3:continue
print(i)
# for+else
# for i in range(3): #
# username=input('username>>: ')
# password=input('password>>: ')
# if username == 'egon' and password == '123':
# break
# else:
# print('用户名或密码错误')
# else:
# print('账号密码输错次数达到最大限制,退出程序')
总结for循环与while循环的异同
1、相同之处:都是循环,for循环可以干的事,while循环也可以干
2、不同之处:
while循环称之为条件循环,循环次数取决于条件何时变为假
for循环称之为"取值循环",循环次数取决in后包含的值的个数