◎python条件控制与循环及break,continue,pass

 条件控制

if后面的条件既可以是常量变量也可以是表达式

当条件为真时【True】则执行if下的语句【0,空列表,空字符串,空元组,空字典等都为False】

操作符描述
<小于
<=小于或等于
>大于
>=大于或等于
==等于,比较两个值是否相等
!=不等于
1. if
if 条件:
   语句1

练习:判断百分及格制

grade=int(input('请输入成绩:'))
if grade >= 60:
   print('及格')
2. if...else【条件为真时执行if下语句,反之执行else下的语句】
if 条件:
    语句1
else:
    语句2

 前面只能及格才打印出来,还有不及格,加上else可以区分开

grade=int(input('请输入成绩:'))
if grade>=60:
   print('及格')
else:
   print('不及格')

 将条件拆开看 if 对应的是 grade>=60,那么else就可以看成是 grade <60

3. if...elif...else【elif就是 else if】【满足某条条件后将不在判断后续任何条件】
if 条件:
    语句1
elif 条件:
    语句2
else:
    语句3

 大于60还可以在分为合格60-69,中等70-79,良好80-89,优秀90-100

grade=int(input('请输入成绩:'))
if grade<60:
   print('不及格')
elif grade<70:
   print('合格')
elif grade<80:
   print('中等')
elif grade<90:
   print('良好')
else:
   print('优秀')
  1. if grade <60: 表达式检查grade是否小于60。如果条件为真,则执行相应的代码块,并打印 “不及格”。
  2. 如果第一个条件不满足,那么程序继续检查下一个条件 elif grade<70: 即如果grade大于等于 60,而又小于 70,则执行相应的代码块,并打印 “合格”。
  3. 如果前两个条件都不满足,程序将继续检查下一个条件 elif grade<80: 如果grade大于等于 70,而又小于 80,则执行相应的代码块,并打印 “中等”。
  4. 如果前三个条件都不满足,程序将继续检查下一个条件 elif grade<90: 如果grade大于等于 80,而又小于90,则执行相应的代码块,并打印 “良好”。
  5. 如果所有的条件都不满足,也就是grade大于 90,那么执行 else 分支,并打印 “优秀”。

每个条件都会在前面条件的基础上在判断,顺次向下执行 

4. match...case【case后跟常量,case自带break,python3.10以上版本才有】
data=20
match data:
    case 'Hello':
        print("匹配字符Hello")
    case 20:
        print("匹配整数20")
    case [1, 2, 3]:
        print("匹配同列表[1, 2, 3]")
    case {"a": 1, "b": 2}:
        print("匹配同字典{"a": 1, "b": 2}")
    case _:
        print("通配符")
        data = "str"  
        data = 42
        data = [1, 2, 3, 4]
        data = {"a": 1}

这四条输出均为通配符,case需要完全一致

循环
for【可知循环次数】

1.   可迭代对象

for i in seq:

seq可以是字符串,列表,元组,字典,集合等,i是可迭代对象中的从任一元素,从头到尾依次将seq中的元素全部使用,seq结束则退出循环【集合是乱序打印,但每个元素均只出现一次】

l=['a','b','c']
s='abc'
t=('a','b','c')
d={'a':97,'b':98}
j={'a','b','c'}
for i in j:#其余均相同
    print(i)

2.  range()【整数范围】

for i in range(start,end,step):

start:起始数,可省略,默认从0开始

end:终止数,不包括该数,不可省略

step:步长,可为负数,可省略,默认为1

i不受for内部的干扰,i的下次值为本次for的i值+step

for i in range(0,10,2):
    if i== 2:
        i+=1
    print(i)

3.  zip() 【多个迭代对象】

for i... in zip(seq,...):

 以最短seq为条件,前面的变量与zip中的seq数量要一一对应

l1=['A','B','C']
l2=(65,66,67,68)
l3='abcde'
l4={'A':'a','B':'b','C':'c'}
l5={'Aa','Bb','Cc'}
for i,j,z,x,y in zip(l1,l2,l3,l4,l5):
    print(i,j,z,x,y)
while【不可知循环次数】【在 Python 中没有 do..while 循环】
while 条件:
    条件为真的执行语句

 while循环需要自己设定循环变量,条件为假则跳出循环,任何为True的条件均为死循环

count=0
while count < 5:
    print('小于5')
    count+=1
print(count)
while 1:#死循环,按Ctrl+C结束
    print('while')

循环一般会搭配continue或break

1. continue【跳过本次循环执行下次循环】

 基本写在if下,continue前的语句正常执行,continue后的语句不在执行,直接执行下次循环

s='python'
for i in s:
    if i == 'o':
        continue
    print(i)
'''
p
y
t
h
n
'''

 

 

num=-1
while num < 9:
    num += 1
    if num % 2 == 0:
        continue
    print(num)
2.break【退出当前循环】

 基本在if下,break前的正常执行,遇到break直接退出,不在执行后续语句,且条件失效

s='python'
for i in s:
    if i == 'o':
        break
    print(i)

'''
p
y
t
h
'''
num=0
while num < 9:
    num += 1
    if num % 5 == 0:
        break
    print(num)

 

 

3. pass【空语句】

Python pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值