04流程控制
上节课复习:
1. 变量
变量值的三个特征:id,type,value
常量
2. 基本数据类型
数字类型:
int
x=10
float
x=1.1
字符串类型str
a="xxx'x'"
列表类型list
list1=[1,3.3,'小写',['a','b']]
list1[0]
字典类型
dic={'x':1,'y':2}
dic['x']
布尔类型
True
False
3. 基本运算符
10 / 3
10 // 3
10 % 3
x=y=z=1
m=1
n=2
m,n=n,m
x,y,*_=[1,2,3,4,5,6,7]
and
or
not
is&==
4. 输入输出
input
'my name is %s' %'egon'
今日内容:
流程控制:
1. if
2. while
3. for
egon的经验:
写代码没思路怎么办?
把自己当做计算机,写出做这件事的步骤即先干什么后干什么,然后用代码表示出来。
一.流程控制之 if条件判断语句
1 什么是if判断?
判断一个条件如果成立则做...不成立则做....。
2 为何要有if判断?
让计算机能够像人一样具有判断,然后做相应事的能力。
3 如何用if判断?
# 语法1:if条件判断语句的单分支。如下所示:
'''
if 条件1:
code1代码1
code2代码2
code3代码3#if冒号后的,这几行的同一缩进代码就是子代码块。
#代码块就是同一
......
'''
总结if语句表现形式:
if 条件:
子代码块
#print('111')
# age=18
# if age != 18:
# print('你好啊小伙子')
# print('加个微信吧...')
# print('other code...')
由上例子可得:
初级:
代码1
代码2
代码3
初级代码运行逻辑(就是代码是怎么运行的): 同一缩进级别,都是顶级代码(顶头写的代码),代码从上到下一行一行依次运行。
升级:
代码1
代码2
子代码块
代码3
升级代码运行逻辑:还是从上到下依次运行。
稍有区别:(if语句先进行条件判断)条件判断成立时,进入子代码块从上到下执行子代码块,子代码块最后一行运行完(即子代码块运行结束)后,接着往下运行代码3、4、5。
条件判断不成立时,不运行子代码块,接着往下一行代码运行。
# 语法2:if条件判断语句的双分支。如下:(应用于用到1个条件判断后出现2种情况时)
'''
if 条件:
code1
code2
code3
......
else:
code1
code2
code3
......
'''
# age=18
# sex='male'
# wuzhong='human'
# is_beautiful=True
#
# if age > 16 and age < 22 and sex == 'female' and \
# wuzhong == 'human' and is_beautiful:
# print('开始表白...')
# else:
# print('阿姨好,我逗你玩呢...')
# 语法3:if条件判断语句的嵌套,如下:
'''
if 条件1:
if 条件2:
code1
code2
code3
code2
code3
......
'''
# age = 18
# sex = 'female'
# wuzhong = 'human'
# is_beautiful = True
# is_successful = True
#
# if age > 16 and age < 22 and sex == 'female' and wuzhong == 'human' and is_beautiful:
# print('开始表白...')
# if is_successful:
# print('在一起')
# else:
# print('阿姨再见....')
# else:
# print('阿姨好,我逗你玩呢...')
# 语法4:if条件判断语句的多分支。如下:(应用于用到多个条件判断,每个条件对应一个情况,最后有个此外时)
'''
if 条件1:
子代码块1
elif 条件2:
子代码块2
elif 条件3:
子代码块3
elif 条件4:
子代码块4
.........
else:
子代码块5
'''
score = input('your score>>: ')
score=int(score)
if score >= 90:
print('优秀')
elif score >= 80:
print('良好')
elif score >= 70:
print('普通')
else:
print('很差')
自己总结:
1.if语句(if嵌套除外)不管它有几个分支,if语句内只能运行一个子代码块(即只能执行一个操作、做一件事)。
2.要想先多个判断后,执行多个代码块,
方法1用多个if语句(要计算机做的两件事虽然有先后关系(代码表现为上下),但是两件事是平等关系,彼此没有约束关系,无以之为前提条件关系);
方法2用if嵌套。(嵌套应用于两件事、操作前提关系,a件事条件成立、先相应操做后,b件事的操作执行才能做,两件事有先后关系,但是a是b的约束、前提,条件有先后关系)eg:嵌套表白例子
and连接多个条件判断中的条件是平等关系,且用于干一件事。(应用于能执行一段代码块(一件事、操作),需要多条件都成立才能执行。)
二.流程控制之 while循环
'''
1. 什么是循环?
循环指的是一个重复做某件事的过程。
2. 为何要有循环?
为了让计算机能够像人一样重复做某件事。
3. 如何用循环?
'''
#1. while循环的语法:while循环又称为条件循环,循环的次数取决于条件。
'''
while 条件:
子代码1
子代码2
子代码3
'''
# print('start....')
# while True:
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# else:
# print('user or password err')
# print('end...')
#2. 如何结束while循环?
# 方式一:操作while循环的条件让其结束。
1.tag法# print('start....')
# tag=True
# while tag:
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# tag=False
# else:
# print('user or password err')
#
# print('end...')
2.计数条件法# count=1
# while count < 6:
# print(count)
# count+=1
a=n=1
#while n<3:
#n += 1 #1.几次循环?3-n次。
#print(n)
#a=a+n
#print(a)
#2.n自增1的表达式,在用n地方之上时,自增1的n最大可以取到小于的那个数。
#n自增1的表达式,在用n地方之下时,自增1的n最大可以取到小于的那个数-1。
# 方式二: break强行终止本层循环。层指属于哪个子代码块的意思。
#1.操作条件来结束循环。
# count=1
# while count < 6:
# print(count)
# count+=1
# 2.break终止本层循环。
#count=1
# while True:
# if count > 5:
# break
# print(count)
# count+=1
# print('start....')
# while True:
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# break
# else:
# print('user or password err')
#
# print('end...')
验证登录题
要求1.输错三次则退出验证,并且提示输入次数过多,2.输对了退出验证。
# 方式一:条件法。
# print('start....')
# count=0
# while count <= 2: #count=3
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# break
# else:
# print('user or password err')
# count+=1
#
# print('end...')
# 方式二:break法。
# print('start....')
# count=0
# while True:
# if count == 3:
# print('输错的次数过多傻叉')
# break
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# break
# else:
# print('user or password err')
# count+=1
#
# print('end...')
# while+continue:
continue代表结束本次循环,直接进入下一次。
# count=1
# while count < 6:
# if count == 4:
# count+=1
# continue # 只能在cotinue同一级别之前加代码
# print(count)
# count+=1
#
#
# while True:
# print('11111')
# print('22222')
# print('333')
# continue # 不应该将continue作为循环体最后一步执行的代码。因为是画蛇添足。
# while+else
# count=1
# while count < 6:
# if count == 4:
# break
# print(count)
# count+=1
# else:
# print('会在while循环结束并且没有被break终止的情况下执行')
题目 :输错三次则退出提示输错太多,之while+else的应用
# print('start....')
# count=0
# while count <= 2: #count=3
# name=input('please your name>>: ')
# pwd=input('please your password>>: ')
# if name == 'egon' and pwd == '123':
# print('login successful')
# break
# else:
# print('user or password err')
# count+=1
# else:
# print('输错的次数过多')
#
# print('end...')
# while循环的嵌套
???
三.流程控制之 for循环
1.for循环主要用于循环取值,while循环主要用于重复做某件事。
2.for里的break与continue(同上while里的)。
3.for循环嵌套的运行逻辑。
运行逻辑:???
例子:乘法表习题
重复取值操作:
student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb']
# i=0
# while i < len(student):
# print(student[i])
# i+=1
# for item in student:
# print(item)
》》两者对比取值,高下立判。
# for item in 'hello':
# print(item)
# dic={'x':444,'y':333,'z':555}
# for k in dic:
# print(k,dic[k])
2.Python2中range创造出顾头不顾尾的列表。
括号内只有一个数字,列表默认从0开始,步长默认为1。
# for i in range(1,10,3):
# print(i)
# for i in range(10):
# print(i)
student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb']
# for item in student:
# print(item)
题目:模拟按索引取列表的值。
for i in range(len(student)):
print(i,student[i])

浙公网安备 33010602011771号