python基础学习-day2
流程——判断与循环
流程:就是计算机执行代码的顺序
流程控制:对计算机代码执行的顺序进行有效的管理,只有流程控制才能实现在开发当中的业务逻辑,即我们需要的功能
顺序流程
就是代码一种自上而下的执行结构,也是python默认的流程
选择流程
根据在某一步的判断,有选择的去执行相应的逻辑的一种结构。
单分支
if 条件表达式:
python代码
python代码
.......
单分支满足就执行代码块,不满足就退出流程
其中,条件表达式 : 比较运算符/ 逻辑运算符/ 复合的运算符(一般复合运算符用的最多)
**重点!!!*****条件表达式才是核心,才是我们程序的要实现的逻辑
条件表达式是 各种运算符的 混合** ***
流程中缩进很重要,缩进才能表明以下程序块是我们分支的内容。
缩进方法:
1.if while 后加入:则下一行自动缩进
2.选中想要缩进的代码,按tab即可
双分支
if 条件表达式:
python代码
python代码
.......
else:
python代码
python代码
.......
for ... in 可迭代集合对象:
python代码
python代码
.......
流程图:
只需要满足一条分支(为True),就退出整个流程。且双分支一定会执行某一个分支。即分支之间是 互斥的
多分支:
有多少条路,不确定,根据我们需要实现的逻辑而定:
if 条件表达式:
python代码
python代码
.......
elif 条件表达式:
python代码
python代码
elif 条件表达式:
python代码
python代码
.....
else:
python代码
python代码
....
只需要满足一条分支(为True),就退出整个流程。与双分支一样。
例子:
#多分支
#多分支
score = int(input('输入你的成绩:')) #input输入的是 str字符串类型
if score<60:
print('不及格')
pass #pass是此分支结束,可加可不加,加了方便下个分支直接顶格
elif 60 <= score <=80:
print('成绩不错')
pass
else:
print('成绩优秀')
结果为:
输入你的成绩:70
成绩不错
注意score = int(input(‘输入你的成绩:’)) ,加入int()是为了强制转换,把input输入的数据由字符串类型转为整型,这样才可以与数字进行运算。
注:不同的数据类型之间不可以进行运算
if else 各种嵌套
当我们需要双重逻辑才可以满足我们需要做的事情时,就可能应用嵌套。
通俗是:一个场景需要分阶段,分层次的时候
例子:
score = int(input('输入你的学分:')) #input输入的是 str字符串类型
GPA = float(input('输入你的绩点:'))
if score>30:
if GPA >= 3.5:
print('毕业合格')
pass
else:
print('不合格')
else:
print('不合格')
结果为:
输入你的学分:31
输入你的绩点:2.8
不合格
循环流程
在满足一定的条件下,一直重复的去执行某段代码的逻辑【事情】
while循环
while 条件表达式:
python代码
python代码
.......
while循环用法:
当条件表达式为True 时,则会一直执行此循环。直到为flase时则终止。
while循环特点:
1.定义初始变量(有初始值)
2.条件表达式(类似if 的条件表达式)
3.变量的自增自减(没有这个循环就会一直执行下去了)
循环目的:
使代码块可以反复的进行
例:打印1-20
a = 1
while a<=20:
print(a)
a +=1
pass
for循环
for 临时变量 in 容器:
python代码
python代码
.......
语法用法:
临时变量以此在容器中取值,遍历整个容器后停止。
容器可以是数值,也可以是字符串
介绍一个容器:range 可以取一段数值,其数据类型为range
用法:range(起始量,结束量),其中左闭右开
或者range(步长),从0开始到步长-1
例子:求1-100累加和
sum = 0
for i in range(1,101):
sum+=i
pass
print('sum= {}'.format(sum))
结果为:
sum= 5050
总结:
while与for很像,但也有针对性
while:适用于对未知的循环次数 用于判断,循环每一次结束后都会重新进行条件表达式的判断。
for:适用于已知的循环次数【可迭代对象遍历】,就算你在for循环最后重置临时变量的值也没有用处了,因为不和while一样会判断,故循环终止了。
继续与终止
continue/break
continue:跳出本次循环,继续下一次循环
break:结束此循环(到你特定的要求时,然后终止循环)
1.break:
求1-200的和,但是sum大于100时就终止
sum = 0
for i in range(1,201):
if i%2 == 0:
sum += i
print(i, end='')
if sum >= 100:
break
print()
print('sum={}'.format(sum))
2.break:
只输出奇数:
for i in range(1,101):
if i%2 == 0:
continue
print(i)
for else/while else特殊用法
先看例子在总结:
例1:
for i in range(10):
print(i)
else:
print('这个语句执行了吗?')
例2:
for i in range(10):
if i <= 5:
print(i)
else:
break
else:
print('这个语句执行了吗?')
总结:当for可以全部遍历时,else后的语句块也会执行
当for当中被break终止时,则else不会执行。
while for 同理
应用场景一:给你三次机会登录系统
#给你三次机会登录系统
#次数明确用for else循环
user = 'kz'
pwd = 123
for i in range(3):
a = input('请输入用户名')
b = input('请输入密码')
if user == a and pwd == b:
print('密码正确,请进入')
break
else:
print('密码错误')
pass
else:
print('超过三次,账户已经被锁定')
结果为:
请输入用户名2
请输入密码2
密码错误
请输入用户名3
请输入密码4
密码错误
请输入用户名5
请输入密码5
密码错误
超过三次,账户已经被锁定
大总结:要深入理解用法,思考逻辑