5x00 Python条件控制语句的用法

Python条件控制语句的用法

5x10 条件判断语句(if语句)

#语法为:
if 条件表达式:   #必须冒号
    代码块       #缩进必须一致为一组
    代码块
  代码块   
  #这不属于以上一组代码,若没有所归属的代码组会报错

执行的流程:

  • if语句在执行时,会先对条件表达式进行求值判断
    如果为True,则执行if后的语句
    如果为False,则不执行
  • Python中,当表达式的值为非零的数或非空的字符串时,会认为条件成立(即为真值)
  • 代码块代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
  • 代码块以 缩进开始,直到代码恢复到之前的缩进级别时结束
  • 代码块就是一种为代码分组的机制
  • 表达式后必须有英文冒号":"
a = 10
b = 5
if a > b:
    print(a)

5x20 if-else语句

#语法:
if 条件表达式:
    代码块
else:
    代码块

执行流程:

  • if-else语句在执行时,先对if后的条件表达式进行求值判断
    如果为True,则执行if后的代码块
    如果为False,则执行else后的代码块
  • else语句不能单独被使用,必须和if一起使用
a = 10
b = 5
if a > b:    #符合条件即执行r=a代码
    r = a
else:        #不符合条件则运行else:语句下代码
    r = b

以上代码可以简化为:

a = 10
b = 5
r = a if a > b else b

5x30 if-elif-else 语句

#语法:
if 条件表达式:
    代码块
elif 条件表达式:   #不符合if条件即向下elif判断
    代码块        #若此elif条件符合即执行此代码块
elif 条件表达式:
    代码块
....
else:       #当所有elif条件都不符合,即执行else代码块
    代码块

执行流程:

  • if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断, if 和 elif 都需要判断条件式真假, else则不需要
    如果表达式的结果为 True,则 执行当前代码块,然后语句结束
    如果表达式的结果为 False,则继* 续向下判断,直到找到True为止*
  • 如果 所有的表达式都是False,则执行else后的代码块
  • elif, else语句不能单独被使用,必须和if一起使用
  • 总结: if-elif-else中只会有一个代码块会执行
a = int(input(请输入整数:))
if a < 10:
    print('个数')
elif a < 100:
    print('十位数')
elif a < 1000:
    print('百位数')
else:
    print('负数或千位数')   

5x40 循环语句

循环语句可以使指定的代码块重复指定的次数.循环语句分成两种: while循环for循环

循环的三个条件

  • 条件一,初始化表达式,初始化一个变量
  • 条件二,条件表达式,用来设置循环执行的条件
  • 条件三,更新表达式,修改初始化变量的值

5x41 while循环

#语法:
while 条件表达式:
    循环体
  • while循环通过一个条件来决定是否要继续 反复执行循环体中的语句
  • 一般在不确定循环次数条件下使用
  • 循环体 是一组被重复执行的语句
  • 使用while循环语句时,一定不要忘记添加改变循环条件为False的代码,否则将成为死循环
a = 0    #初始化表达
while a < 50:    #条件表达
    print(a)
    a += 1     #更新表达,更新a值,当a=50时跳出循环

5x42 for循环

#语句:
# 迭代变量用于保存读取出的值
# 对象为要遍历或迭代的对象,可以是有序的序列对象如字符串,列表和元组
# 循环体为一组被重复执行的语句
for 迭代变量 in 对象:
    循环体
  • 计次循环,一般应用在循环次数已知的情况下
  • 适合用于 枚举,遍历序列以及迭代对象中的元素
  • 通常有 两种for循环
    • 进行数值循环
    • 遍历字符串
5x42a 进行数值循环
  • 一般进行数值循环 eg.累加…
语法:
result = 0          #赋值累加变量
for i in range(10):
    result += i     #实现累加功能
print(result)       #循环结束时输出结果

range()函数有3个参数:range(start, end, step)
start = 起始值
end = 结束值
step = 步长,即两个数之间的间隔

  • 在使用range()函数时,如果 只有一个参数,即表示end值;如果有 两个参数,即表示start和end值;如果有 三个参数,最后一个是步长
for i in range(1, 10, 2):
    print(i, end=' ')
结果:
1 3 5 7 9
5x42b 遍历字符串

for 循环可用于遍历列表,元组,集合和字典

以下代码可以将字符串从横向转为纵向

word = "我是程式员"
print(word)
for wd in word:
    print(wd)
结果:
我是程式员
我
是
程
式
员

5x43 循环嵌套

  • Python中允许一个循环中嵌入另一个循环,成为 循环嵌套
  • for循环和while循环 皆可进行循环嵌套
#语句:
#第一种:
while 条件表达式1:
    while 条件表达式2:
        循环体2
    循环体1

#第二种:
for 迭代变量1 in 对象1:
    for 迭代变量2 in 对象2:
        循环体2
    循环体1

#第三种:
while 条件表达式:
    for 迭代变量 in 对象:
        循环体2
    循环体1

#第四种:
for 迭代变量 in 对象:
    while 条件表达式:
        循环体2
    循环体1

打印九九乘法表:

for i in range(1,10):
    for j in range(1,i+1):
        print(str(j)+'X'+str(i)+'='+str(i*j)+'\t',end='')
    print('')
结果:
1X1=1	
1X2=2	2X2=4	
1X3=3	2X3=6	3X3=9	
1X4=4	2X4=8	3X4=12	4X4=16	
1X5=5	2X5=10	3X5=15	4X5=20	5X5=25	
1X6=6	2X6=12	3X6=18	4X6=24	5X6=30	6X6=36	
1X7=7	2X7=14	3X7=21	4X7=28	5X7=35	6X7=42	7X7=49	
1X8=8	2X8=16	3X8=24	4X8=32	5X8=40	6X8=48	7X8=56	8X8=64	
1X9=9	2X9=18	3X9=27	4X9=36	5X9=45	6X9=54	7X9=63	8X9=72	9X9=81	

5x44 改变或跳出循环路径

可以利用continue, break或者pass语句改变循环路径或跳出循环

  • 使用continue语句直接跳到循环的下一次迭代;如何有嵌套循环,只跳过当层循环中的剩余语句
  • 使用break完全中止循环;如何有嵌套循环,将跳出当层循环
  • 使用pass语句表示空语句,不做任何事情,只起到占位作用
#continue语句:
total = 0      #赋值总数变量
for number in range(1,100):
    if number%2 == 1:    #判断是否不是偶数
        continue   #跳过下一行代码,返回for下一循环
    total += number  #累加偶数的和
print(total)         #输出累加结果
#break语句:
while 条件表达式1:
    执行代码
    if 条件表达式2:
        break

for 迭代变量 in 对象:
    if 条件表达式:
        break
#pass语句:
for i in range(1,10):
    if i%2 == 0:    #判断是否偶数
        print(i,end='')
    else:           #不是偶数
        pass        #占位语句,不做任何事,返回循环

<<< 4x00 Python计算机运算符(Operator)初讲

6x00 Python序列的种类和使用 >>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值