Python语言基础🈶流程控制语句💤

400 阅读2分钟

流程控制语句

  • 条件(分支)语句
  • 循环语句
  • break 和 continue

1.1 分支语句

  • if 分支语句

    • 分支语句会根据条件判断,执行不同的分支代码。
    • 流程
    • 一个分支
    • 多个分支

代码例子

a = 10
b = 20
c = 30
if a > b:
    if a > c:
        print("a是三个数中的最大值,值为%d" % a)
    else:
        print("c是三个数中的最大值,值为%d" % c)
elif b > c:  
    print("b是三个数中的最大值,值为%d" % b)
else:
    print("c是三个数中的最大值,值为%d" % c)
​

代码练习1

# if 语句
'''
一个分支的条件语句
​
if 条件表达式:
    语句块
​
注意:
1.条件表达式后面必须写冒号(:)
2.接下来的代码另起一行,并且缩进4个空格
执行:
如果条件表达式为True时,执行下面的语句块
'''# baozi=10
# xigua=2
# if xigua>0:
#     baozi=1
#     print("----")# print(baozi)   '''
多个分支的条件语句
if 条件1:
    语句块1
elif 条件2:
    语句块2
...
else:
    语句块n
​
注意:
1.else后面不写条件,要写冒号(:)
2.分支下的语句另起一行,缩进4个空格,并且对齐
3.else分支不是必须的
​
执行:
1.条件1如果是True,执行语句块1,结束条件语句,如果条件1是False,继续执行
2.条件2如果是True,执行语句块2,结束条件语句,如果条件2是False,继续执行
3.列出条件都不成立时,执行else分支下的语句块
​
'''
# score=70# if score==100:
#     print("太棒了!")
# elif score>=90:
#     print("优秀!")
# elif score>=80:
#     print("良好")
# elif score<60:
#     print("加油了!")
# else:
#     print("合格!")'''
练习
1.输入一个整数,输出是正?负?零?
'''
​
num = int(input('输入一个整数:')) 
​
if num>0:
    print(num,'是正数')
elif num==0:
    print(num,"是零")
else:
    print(num,"是负数")

2.2 循环语句

  • while 循环语句

    • 我们可以通过一些条件判断来完成一些语句的循环调用。
    • 流程
    • else

代码例子

  • while循环语句
i = 1
sum = 0
while i <= 100:
    sum += i
    i += 1
print("1 + 2 + .... + 100 = %d" % sum)
​
  • while循环语句+条件语句
# 例子:计算从1加到100的所有偶数和
i = 1
sum = 0
while i <= 100:
    if i % 2 == 0:
        sum += i
    i += 1
print("1 + 2 + .... + 100 = %d" % sum)
​
  • while循环+else
num = 1
while num <= 5:
    print(num)
    num += 1
else:
    print(num, "不满足条件,循环退出")

代码练习2

#while循环
'''
​
while 条件:
    语句块
​
注意:
1.条件后面要写冒号(:)
2.接下去的语句块另起一行,缩进4个空格,要求对齐
3.不小心写了一个无限循环,可以按Ctrl+C,强行结束
​
执行:
1.如果条件是True,继续执行,否则结束循环
2.执行while下的语句块(循环体),继续执行1
'''
```py
n=1
total=0

while n<=100:
     total+=n 
n+=1

print("total:",total) 
print("n=",n)   

''' 带else分支的while while 条件:   语句块 else:   语句块n ​ 执行: 1.如果条件是True,继续执行,否则执行else分支中的语句块,结束循环 2.执行while下的语句块(循环体),继续执行1 ​

n=1
total=0

while n<=100:
    total+=n 
    n+=1
else:
    print("n=",n) 

print("total:",total) 

1.3 break,continue,pass

  • break

    • 某一条件满足时,退出循环,不再执行循环语代码。break后while后面的else分支也不会执行。
  • continue

    • 某一条件满足时,退出本次循环,接着执行下次循环代码。
  • pass

    • pass是一个空语句,什么都不做,一般是用来保持结构完整的。

代码例子

break 和 continue

i = 0
while(i <= 5):
    i += 1
    if i == 2:
        continue  # 退出当次循环,进行下一次循环
    elif i == 4:
        break  # 退出循环
    print(i)
​

pass

if True:
    pass
print("done")
​

代码练习3

#break   - 循环中执行了break,退出循环# n=0
# while n<100:
#     n+=1
#     print(n)  
#     if n==4:
#         break# print("n=",n)  #continue - 循环中执行continue,这次循环剩下的语句不再执行,继续下一次循环判断# n=0
# while n<100:
#     n+=1#     if n==4:
#         continue 
#         # break
    
#     print(n) 
# else:
#     print("-----------")   
    
​
# print("n=",n)  '''
练习
#计算100以内的奇数的和
'''
# n=1
# sum=0
# while n<100:
#     if n%2==1:
#         sum+=n 
#     n+=1
# else:
#     # print("sum:",sum) 
#     print("sum:"+str(sum))  # 使用cotinue完成计算100以内的奇数的和
n=0
sum=0
while n<100:
    n+=1
​
    if n%2==0:
        continue
    
    sum+=n 
else:
    print("sum:",sum)

代码练习4

#循环嵌套
'''
while 条件1:
    语句块
    while 条件2:
        内循环语句块
    语句块
​
执行:
1.如果条件1是True,就继续执行,否则结束外层循环
2.如果条件2是True,执行内循环语句块,继续执行2,如果条件2是False,结束内层循环,继续执行1
'''# 输出九九乘法表
i=1while i<=9:
    j=1
    while j<=i:
        print(str(j)+"x"+str(i)+"="+str(j*i),end="\t")      # 正常内容输出结束后,输出end指定的字符。默认end="\n"
        j+=1
    else:
        print(end="\n")   #换一行
​
    i+=1

1.4 for 循环

  • for 循环

代码例子

#for语句
'''
for 变量 in 字符串:
    语句块
​
注意:
1.字符串后面要写冒号
2.下面的语句块要缩进4空格,且要对齐
'''
mystr="hello"for c in mystr:
    print(c) 
​
#从后往前输出
i = len(mystr)-1    #最大索引
while i>=0:
    print(mystr[i]) 
    i-=1

\