分支与循环

分支与循环

python代码默认情况下是从第一行开始从上往下一次执行的,每一条语句都会执行
分支结构:某段代码是否执行看条件(if语句)

一.分支

1.if结构

满足条件就执行某个操作,不满足就不执行
1)语法:
if 条件语句:    
    代码段
其他代码    

2)说明
if     -  关键字,固定写法条件
语句    - 任何有结果的表示都可以,列如:数据,已经声明过的变量、运算表达式(不能是赋值语句等
:      -   固定写法;(一般出现冒号的位置,后面都会产生缩进)
代码段   -   和if保持一个缩进的一条或者多条语句;需要满足条件才执行的代码

3) 执行过程先判断条件语句的结果是否为True(如果条件语句的结果不是布尔值,就先转换成布尔再看)如果为True就执行代码段,否则代码段不执行

2.if-else结构

满足条件执行某个操作,不满足条件的时候执行另外一个操作

1)语法:
if 条件语句    
    代码段 1(满足条件要执行的代码)
else:    
    代码段 2(不满足条件要执行的代码)
    
2) 执行过程:
先判断条件语句是否为True,如果为True就执行代码段1,否则就执行代码段2
age = 20
# 根据年龄值的范围打印'成年'或者'未成年'
if age <= 18:    
    print('未成年')
else:    
    print('成年')

3.if-elif-else结构

1)语法
if 条件语句1:    
    代码段1
elif 条件语句2:    
    代码段2
elif 条件语句3:    
    代码段3
....
else:    
    代码段N
其它语句
2) 执行过程:

先判断条件语句1是否为True,为True就执行代码段1,然后整个if-elif-else结构结束

如果为False,就判断条件语句2是否为True,为True就执行代码段2,然后整个if-elif-else结构结束

如果为False,就判断条件语句3是否为True,为True就执行代码段3,然后整个if-elif-else结构结束

以此类推

如果所有的条件语句都不成立,执行else后面的代码段

# 根据年龄范围打印:少年(14以下)、青年(14-25)、壮年(26-35)、中年(36-50)、老年
age = 25
if age < 14:    
    print('少年')
elif 14 <= age <= 25:    
    print('青年')
elif 26 <= age <= 35:    
    print('壮年')
elif 36 <= age <= 50:    
    print('中年')
else:    
    print('老年')

4.if嵌套

"""
if结构中的代码块中可以再出现其他的if语句
"""

# 判断一个数是否是偶数,并且判断这个数是否是4的倍数;并打印出结论
# 方法:
num = 8
if num & 1 == 0:    
    print('偶数')    
    if num % 4 == 0:        
        print('是4的倍数')
else:    
    print('奇数')    
    if num % 10 == 3:        
        print('个位数是3')

二.循环

循环结构:for循环和while循环

1.for循环

1)语法:
for 变量名 in 序列:    
    循环体

2)说明:
for     -   关键字固定写法
变量名  -   和声明变量的变量名要求一致
in      -   关键字,固定写法
序列    -    容器型数据:字符串、列表、字典、元组、集合、迭代器、生成器、range
:      -    固定写法
循环体  -     和for保持一个缩进的一条或多条语句;需要重复执行的语句

3)执行过程:让变量去序列中取值,一个一个的取,取完为止;每取一个值,执行一次循环体(for循环可以通过控制序列中元素的个数来控制循环的次数)

2.range函数

1) range(N)    -   产生0 ~ N-1的数字序列
例如:range(4) -> 0,1,2,3

2) range(M,N)  -   产生M ~ N-1的数字序列
例如:range(3,10) -> 3,4,5,6,7,8,9

3) range(M,N,stop)  -  从M开始每隔step产生下一个数字,到N前一个数为止   
例如:range(0,10,2) -> 0,2,4,6,8

作用: 1.产生指定的数字序列 2.控制循环次数

注意:如果for循环中变量取出来的值在循环体中无用,这个变量可以直接用_来命名

for _ in range(100):
    print('+')
    
for x in range(4):
    print(x)

# 练习1:打印0~100中所以能被3整除的数 
方法一: 
for x in range(101):     
    if x % 3 == 0:         
        print('x=',x) 
        
方法二: 
for x in range(3,101,3):     
    print('x=', x)

# 练习2:统计1~100中能被4整除并且个位数是2的数字的个数
num = 0
for x in range(1, 101):    
    if x % 4 == 0 and x % 10 == 2:        
        num += 1
print('被4整除并且个位数是2的数字的个数:', num)

# 练习3:计算1+2+3+...+100
y = 0   # 保存最后的和
for x in range(1, 101):    
    y += x
print(y)

3.while循环

1)语法:while 条件语句:    
    循环体

2)说明:
while   -   关键字:固定写法
条件语句 -  任何有结果的表达式;数据、已经声明过的变量、运算符表达式(不能是赋值语句)等
:       -   固定写法
循环体   -   和while保持一个缩进的一条或者多条语句;(需要重复指定的语句)

3)执行过程:先判断条件语句是否为True,如果为True就执行循环体;执行完循环体再判断条件语句是否为True,为True又执行循环体,以此类推,直到条件语句的结果是False循环就结束

4.for循环和while循环的选择问题

1)什么时候使用for循环
a.循环次数确定的时候
b.遍历序列

2)什么时候使用while循环
a.死循环
b.循环次数不确定
# 练习:猜数字游戏
# 游戏开始的时候随机产生一个100以内的数字,不断输入数字,直到输入的数字和产生的数字一致,游戏就结束
# 在没有猜对的时候,给出'大了'或者'小了'的提示
number = randint(0, 100)    # 产生0~100的随机数,并且保存在number
value = int(input('输入数字:'))
while value != number:    
    if value < number:        
        print('小了')    
    elif value > number:        
        print('大了')    
    value = int(input('输入数字:'))
print('正确')

三.循环关键字

1.continue

"""
continue是循环体中的关键字当执行循环体的时候,如果遇到continue,那么当次循环结束,直接进入下次循环的判断
"""

for x in range(4):
    print('====')
    continue
    print('++++')

2.break

"""
break是循环体重的关键字当执行循环体的时候如果遇到break,那么整个循环直接结束
"""
for x in range(4):     
    print('====')    
    break     
    print('++++')
    
# 功能:不断输入数字直到输入的数字是0为止,然后再求输入的所有的奇数的和
sum1 = 0
while True:    
    value = int(input('请输入数字:'))    
    if value == 0:        
        break    
    
    if value % 2 == 0:        
        continue    
    sum1 += value
print(sum1)

3.else

"""
1)完整的for循环
for 变量 in 序列    
    循环体
else:    
    代码段    

2)完整的while循环
while 条件语句:    
    循环体
else:    
    代码段    

else中的代码段:当循环自然死亡(for后的变量数据取完了;while后面的条件为False),else后面的
代码段会在循环结束后执行;如果循环是因为遇到break而结束的,那么else后面代码段就不会执行    

else的意义:可以通过判断else中的代码有没有执行来判断循环有没有遇到break
"""

4,while循环的用法

while True:    
    需要重复执行的代码段    
    if 退出循环的条件:        
        break
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、分支结构 python代码默认情况下是从第一行开始,从上往下依次执行, 分支结构:某段代码是否执行看条件 1....
    yydafx阅读 981评论 0 0
  • if分支结构: python中的分支结构只有if,没有switch 什么时候用if:如果做某事(执行某段代码)需要...
    圣咸鱼阅读 1,514评论 0 0
  • 一、分支结构 ifa.语法1:if 条件语句:·代码段其他语句b.说明:if - 关键字,固定写法条件语句 - ...
    Wa_ngli阅读 858评论 0 0
  • 本文相关编程题较多。 分支[1] python3中实现分支的方式是通过if、elif、else三个关键字。 通过对...
    HerdingCat阅读 2,656评论 0 1
  • 流程控制 目录:顺序结构分支循环循环嵌套控制循环的关键词 总会出现一种场景:要满足某个条件时,才去做一件事情。 ...
    Ansaxnsy阅读 4,106评论 0 1