Python学习--判断语句与循环控制

tech2024-12-28  3

Python学习(二)

每日一悟:一个人的心如果澄净了,就日日是好日,夜夜是清宵。

一、流程与流程控制

流程:就是计算机执行代码的顺序。流程控制:对计算机代码执行的顺序进行有效的管理,只有流程控制才能实现在开发中的业务逻辑。流程控制的分类: (1)顺序流程:代码自上而下的执行结构,也是Python默认的流程。 (2)选择(分支)流程:根据在某一步的判断,有选择的去执行相应的逻辑的一种结构。 a.单分支: if条件表达式: 一条条的编程语句 一条条的编程语句 一条条的编程语句 b.双分支: if条件表达式: 一条条的编程语句 一条条的编程语句 else: 一条条的编程语句 一条条的编程语句 c.多分支: if条件表达式: 一条条的编程语句 一条条的编程语句 elif条件表达式: 一条条的编程语句 一条条的编程语句 elif条件表达式: 一条条的编程语句 一条条的编程语句 ……… else: 一条条的编程语句 一条条的编程语句 一条条的编程语句

条件表达式:比较运算符/逻辑运算符/复合的运算符 3)循环流程:在一定的条件下,一直重复的去执行某段代码的逻辑(事情)。 While 条件表达式: 一条条的编程语句 一条条的编程语句 …… for …in 可迭代集合对象 一条条的编程语句 一条条的编程语句

二、选择流程

Python的条件语句是通过一条或者多条语句的执行结果(True或Fales)来决定执行的代码块。 (1)单分支 if 条件表达式: 代码指令 score=60 if score<=60: print("成绩不是很理想,要加油!") pass #空语句 print("运行结束")

(2)双分支 if 条件表达式: 代码指令 else: 代码指令

if score>60: print("成绩合格!") pass #空语句 else: print("您的成绩不合格,请继续努力") pass

(3)多分支 if 条件表达式: 代码指令 elif 条件表达式: 代码指令 … else: 特征:1.只需满足一个分支,就会突出本层if语句结构【必定会执行一个分支】 2.至少有俩种情况可以选择 elif后面必须写上条件和语句 else是选配,根据实际情况来写

score=int(input("请输入你的成绩:")) if score>90: print("优秀") pass elif score>=80: print("良好") pass elif score>=70: print("及格") pass else: print("不及格") pass

设计一个小游戏

猜拳小游戏 0:石头 1:剪刀 2:布 import random #直接导入产生随机数的模块 计算机 人 person=int(input("请出拳:[0:石头 1:剪刀 2:布]")) computer=random.randint(0,2)#产生0-2三个数据 if person==0 and computer==1: print("厉害了,你赢了") pass elif person==1 and computer==2: print("厉害了,你赢了") pass elif person==2 and computer==0: print("厉害了,你赢了") pass elif person==computer: print("不错,居然是平手") pass else: print("哈哈哈,你输了") pass

(4)if-else的嵌套使用:一个场景需要分阶段或者层次,做出不同的处理 要执行内部的if语句 一定要外部的if语句满足条件才可以

xuefen=int(input("请输入你的学分:")) grade=int(input("请输入你的成绩:")) if xuefen>10: if grade>=80: print('您可以升班了,恭喜您') pass else: print('很遗憾,您的成绩不达标') pass else: print('您的表现也太差了吧。。。')

三、循环流程

While 条件表达式:一条条的编程语句 一条条的编程语句 …… 语法特点:有初始值;条件表达式;变量【循环体内的计数变量】的自增自减,否则会造成死循环。 使用条件:循环的次数不确定,是依靠循环条件来结束。 目的:将相似或者相同的代码操作变得更加简洁,使我们的代码可以重复利用。

举例

输出1-100之间的数据 index=1 while index<=100: print(index) index+=1 pass 打印九九乘法表 row=1 while row<=5: j=1#空格数 while j<=5-row: #控制打印空格的数量 print(' ',end='')#end表示不换行 j+=1 pass k=1 while k<=2*row-1: #控制打印*号 print('*',end='') k+=1 pass print() row+=1 pass 打印直角三角形 row=1 while row<=5: j=1#空格数 while j<=5-row: #控制打印空格的数量 print(' ',end='')#end表示不换行 j+=1 pass k=1 while k<=2*row-1: #控制打印*号 print('*',end='') k+=1 pass print() row+=1 pass 练习等腰三角形 row=1 while row<=5: j=1#空格数 while j<=5-row: #控制打印空格的数量 print(' ',end='')#end表示不换行 j+=1 pass k=1 while k<=2*row-1: #控制打印*号 print('*',end='') k+=1 pass print() row+=1 pass for (临时变量)…in(字符串,列表等) 可迭代集合对象一条条的编程语句 一条条的编程语句 语法特点:遍历操作依次的取集合容器中的每个值。

举例

tags='我是一个中国人'#字符串类型本身就是一个字符类型的集合 for item in tags: print(item) pass ---range函数---此函数可以生成一个数据集合列表 #range(起始数据:结束:步长) 步长不能为0 输出1-100 for data in range(1,101):#左包含右不包含 print(data,end=' ') 输出1-100sum=0 for data in range(1,101): sum+=data pass print("sum=%d"%sum) 输出奇数与偶数 for data in range(1,101): if data%2==0: print("%d是偶数"%data) pass else: print("%d是奇数"%data) for i in range(1,10): for j in range(1,i+1): print("%d*%d=%d"%(i,j,i*j),end=' ') pass print() #控制换行 pass break和continue 这两个关键字只能用在循环中 (1)break 退出循环 只要满足条件直接结束 举例:sum大于100就退出 sum=0 for item in range(1,51): if sum>100: print('循环执行了%d次就退出了'%item) break pass sum+=item pass print('sum=%d'%sum)

(2)continue 跳过本次循环,继续下一次循环

在这里插入代码片举例:输出1-100的奇数 for item in range(1,100): if item%2==0: continue pass print('奇数是%d'%item) pass``` ```python 举例:遍历字符串 for item in 'i love you': if item=='e': break print(item) 举例:输出1-20 index=1 while index<=100: if index>20: break pass print(index) index+=1 while与for while使用:对未知的循环次数 用于判断 for使用:适用于已知循环次数【可迭代对象遍历】for—else与while—else,只要出现break,else不会再执行 举例:用户登录提示 account='www' pwd='123' for i in range(3): zh=input('请输入账号:') pd=input('请输入密码:') if account==zh and pwd==pd: print('恭喜您,登录成功!') break else: print('您的输入有误,请重新输入') pass pass else: print('您的账号已被系统锁定……')
最新回复(0)