人生苦短,我学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
密码错误
超过三次,账户已经被锁定

大总结:要深入理解用法,思考逻辑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值