python流程控制

流程控制常用的是:条件分支流程的if/else语句和循环控制的while语句

1.条件分支流程

定义:当达到某种条件的时候才会触发的代码。

①:语法1
if 布尔表达式: #如果为真则执行内部的代码块
	代码块

布尔表达式的结果要么真,要么假,如果是真的,那么就执行if语句里面的代码块,否则就跳过不执行。

例子:

a = 10
b = 20
if a < b:
    print("真的")
if a > b:
    print("假的")

执行结果:

真的

解析:

第一个if语句里面的布尔表达式(a<b)为真,所以执行了里面的代码块print(“真的”),而第二个if语句里面的布尔表达式(a>b)是假的,所以里面的代码块没有被执行,所以不输出“假的”两字。

②:语法2

 常用的if/else语句,语法如下:

if 布尔表达式:
	代码块
else:
	代码块

判断的逻辑是如果布尔表达式为真,则执行if内部的代码块,如果为假则执行else内部的代码。

例子:

a = 10
b = 20
if a > b:
    a = 30
    print(a)
else:
    print(1111)

执行结果:

1111
③:语法3 
if 布尔表达式1:
	代码块
elif 布尔表达式2:
	代码块
elif 布尔表达式3:
	代码块
....
else:
	代码块

逻辑是如果布尔表达式为真,则执行if内部的代码块,如果为假则执行else内部的代码,这个语法适用于多个连续条件判断。 

例子:

s = int(input("请输入分数:"))

if 80 >= s >= 60:
    print("及格")

elif 80 < s <= 90:
    print("优秀")

elif 90 < s <= 100:
    print("非常优秀")

else:
    print("不及格")

随意输入100以内的数字,不同区间内的数字结果是不一样的,例如92,执行结果为:

请输入分数:92
非常优秀
④:语法4

 这里可以将前面所讲的if/elif/else进行嵌套使用,来达到我们想要的目的。

例子

s = int(input("请输入分数:"))
if 80 >= s >= 60:
    print("及格")

elif 80 < s <= 90:
    print("优秀")

elif 90 < s <= 100:
    print("非常优秀")

else:
    print("不及格")
    if s > 50:
        print("你的分数在50分左右")
    else:
        print("你的分数低于50分")

随意输入数字,比如说55,执行结果:

请输入分数:55
不及格
你的分数在50分左右

 2、循环流程

循环语句的作用就是重复运行某些代码。

①:while循环

语法:

while 布尔表达式: 
	代码块

只要条件(布尔表达式)为真就执行里面的代码块。

举例:

while 4 < 5:
    s = int(input("请输入分数:"))
    if 80 >= s >= 60:
        print("及格")
    elif 80 < s <= 90:
        print("优秀")
    elif 90 < s <= 100:
        print("非常优秀")
    else:
        print("不及格")
        if s > 50:
            print("你的分数在50分左右")
        else:
            print("你的分数低于50分")

运行之后可以多次输入分数,并且永不停息:

请输入分数:56
不及格
你的分数在50分左右
请输入分数:70
及格
请输入分数:

解析:

这里有1个弊端,代码执行后陷入了死循环,while里面的代码被一直执行,因为4<5永远为真。

为不让它永远执行,让它循环执行几次就可以了,这里可以用个变量来作为条件判断,把4<5改成a<5,同时让在while里面实现自加的功能,在while里面代码每执行1次,执行到它那行的时候它加1,这样执行2次while就会出来。

a = 3
while a < 5:
    s = int(input("请输入分数:"))

    if 80 >= s >= 60:
        print("及格")
    elif 80 < s <= 90:
        print("优秀")
    elif 90 < s <= 100:
        print("非常优秀")
    else:
        print("不及格")
        if s > 50:
            print("你的分数在60分左右")
        else:
            print("你的分数低于50分")
    a += 1
print(a)
print("while执行结束了")

执行结果:

请输入分数:55
不及格
你的分数在60分左右
请输入分数:65
及格
5
while执行结束了

while循环的运用:比如说输入一个整数并计算各个位和。

# 请输入一个整数,并计算各个位和 如:321=6

n = int(input("请输入一个整数:"))  # 转为整型

# sums累加法   n不等于0,则n除10取余数进行累加,并地板除10。

sums = 0

while n != 0:  # 32 #3
    sums = sums + n % 10  # sums=1+2=3+3=6
    n = n // 10  # 32 #3
print(sums)

若输入的2345,执行结果:

请输入一个整数:2345
14

②:for循环

for循环和while循环都是循环语句,但不一样的点在于for循环是技术循环。 

语法:

list=[3,2,1]
for 变量 in 可迭代对象:
	代码块

例子:

list=[3,2,1]
for n in list:
	print("1")

执行:

1
1
1

list是个列表,列表里面有3个元素,每执行一次for循环,列表里面的元素就会被赋值给n,直到列表里面没有了元素可赋值,则n就跳出了列表,此时的for循环就不成立了,不执行for里面的代码块。

③:range

for循环经常会搭配range来使用,range是一个可迭代对象,range的语法如下: 

range(start=0,stop,step=1)

start值的是开始下标。range序列里面的所有元素都有下标,第一个元素的下标是0,所以,默认是从0开始。

stop是结束位置。结束的位置下标为(元素个数-1),例如range里面有4个元素,那么结束下标最大为3,大于3则跳出range。

step是步长,如果step是2,那么每次会隔开1个元素,默认步长为1,即每个元素都会取到。

举例:

for i in range(8):	#可以不写star和step,但结束位置一定要写的
    print(i)

print("---------")

for i in range(10, 2, -2):
    print(i)

执行结果:

0
1
2
3
4
5
6
7
---------
10
8
6
4

解析:

第一个for循环可以看出,range()的第一个元素的下标是从0开始,而不是从1开始;range()可以不写开始下标和步长,但一定得有结束位置。

第二个for循环可以看出步长可以为负数,用于递减。结束位置的下表为(2-(-2)= 4)。

④:continue

continue的作用是跳过本次循环,后面的循环继续执行。

例如:

for i in range(1, 10):
    if i == 5:
        continue
    print(i)

执行结果:

1
2
3
4
6
7
8
9

解析:

i等于5的时候,for循环就跳过去了,本次不再执行里面的代码,重新回到了新的循环。

⑤:break

break的作用是终止所有循环的功能。

例如:

for i in range(1, 10):
    if i == 5:
        break
    print(i)

执行结果:

1
2
3
4

解析:

i等于5的时候,for循环就结束了,本次不再执行里面的代码。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值