【Python基础入门系列】第04天:Python 流程控制

在编程的世界中,流程控制是程序员运行的基础,流程控制决定了程序按照什么样的方式去执行,本节给大家介绍 Python 流程控制相关语法。


if 语句

if 语句表示如何发生什么样的条件,执行什么样的逻辑。

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

1)单一分支

if 条件表达式:
      【代码块】
【后续代码】
执行流程:如果条件表达式为真,则执行【代码块】。否则不执行,直接执行if语句后面的【后续代码】
注意:
  【代码块】必须缩进
   单if语句可以嵌套

2) 双向分支

if 条件表达式:
      【语句块A】
else:
      【语句块B】
【后续代码】
执行流程:如果条件表达式为真,执行【语句块A】然后执行【后续代码】,否则执行【语句块B】,然后再执行【后续代码】,二选一,不可能既执行A有执行B
注意:
   【语句块A】和【语句块B】必须缩进
   if-else可以嵌套

3)多向条件分支

if 条件1:
   【代码段1】
elif 条件2:
   【代码段2】
............
elif 条件n:
【代码段n】
else:
  【else语句块】
【后续代码】
执行流程:多选一,如果满足条件1,执行【代码段1】,然后跳出if-elif语句,执行【后续代码】,否则判断是否满足条件2,如果满足执行【代码段2】,然后跳出if-elif语句,执行【后续代码】...。如果所有条件都不满足,执行【else语句块】,然后再执行【后续代码】。
注意:else是可选的,可以写也可以不写。

示例:


x = int(input("Please enter an integer: "))
    x = -5
if x < 0:
    x = 0
    print('Negative changed to zero')
elif x == 0:
    print('Zero')
elif x == 1:
    print('Single')
else:
    print('More')

可能会有零到多个 elif 部分,else 是可选的。关键字 ‘elif’ 是 ’else if’ 的缩写,这个可以有效地避免过深的缩进。if … elif … elif … 序列用于替代其它语言中的 switch 或 case 语句。


for 循环

Python for 循环可以遍历任何序列的项目,如一个 列表 或者一个 字符串。

语法:

for 循环的语法格式如下:

 

'''
for 后跟变量名,in 后跟序列,注意加冒号
for 循环每次从序列中取一个值放到变量中
此处的序列主要指 列表 元组 字符串 文件
'''
for iterating_var in sequence:
statements(s)

示例如下:

 
for letter in 'Python': # 第一个实例
    print('当前字母 :', letter)

fruits = ['banana', 'apple', 'mango']
    for fruit in fruits: # 第二个实例
        print('当前字母 :', fruit)

print("Good bye!")

也可以通过索引地址来遍历内容

 
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
    print('当前水果 :', fruits[index])

print("Good bye!")

循环概念

广义:一个周期现象或者重复出现的情况,这种状态被称为循环

狭义:在满足条件的情况下,反复执行某一段代码,在编程语言中出现的这种现象被称为循环。被反复执行的这段代码被称为循环体

当反复执行某段代码时,需要在合适的时机将循环停止下来,否则会产生死循环

Python中提供的循环语句:while语句,for-in语句

 

while的使用

1 while语法

while 表达式:
  循环体

工作原理:遇到while语句时,首先计算表达式的值,如果表达式的值为假,则跳过整个while语句,继续执行下面的代码;如果表达式的值为真,则执行循环体

2 while-else

while 表达式:
循环体
else:
  【else语句块】

说明:当while语句执行完成之后,执行【else语句块】,如果用break跳出循环则不执行else

3 死循环

在循环语句中,表达式永远为真的循环

while True:
#循环体

while 1:
#循环体

4 while语句的嵌套

while 条件1:    #外层循环
 【语句块A】
 while 条件2:  #内存循环
【语句B】

执行流程:首先判断外层循环的条件1,如果为真,则执行循环体中的【语句块A】,执行内层循环,判断条件2是否成立,如果成立,执行内层循环的【语句块B】,执行完内层循环后,重新判断外层循环条件....

  • 特点:外层循环走一步,内层循环执行一遍

  • 外层循环和内层循环的循环变量必须不同

语法:

 

while 判断条件:
执行语句……

示例:

count = 0
while (count < 9):
    print( 'The count is:', count)
    count = count + 1

print("Good bye!")

也可以在 while 循环中添加判断逻辑


count = 0
while count < 5:
    print(count, " is less than 6")
    count = count + 1
else:
        print(count, " is not less than 6")

 


range() 函数

如果你需要一个数值序列,内置函数 range() 会很方便,它生成一个等差级数链表:

语法:

 

range (start, end, scan):

参数含义:

  • start:计数从 start 开始。默认是从 0 开始。例如 range(5) 等价于 range(0, 5);

  • end:计数到 end 结束,但不包括 end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有 5

  • scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

示例:

 
for i in range(6):
    print(i)
print(range(6),'finish')

for i in range(6,10):
    print(i)
print(range(6,10),'finish')

for i in range(6,12,2):
    print(i)
print(range(6,12,2),'finish')


需要迭代链表索引的话,如下所示结合使 用 range() 和 len():


a = ['i', 'love', 'coding', 'and', 'free']
for i in range(len(a)):
    print(i, a[i])


break 用法和continue、pass

break用于结束当前循环。只对当前这一重循环起作用。break只能出现在循环中。

break示例:


for letter in 'ityouknow': # 第一个实例
    if letter == 'n': # 字母为 n 时中断
        break
    print ('当前字母 :', letter)

continue 语句用来跳过当前循环的剩余语句,然后重新判断循环条件,开启下一轮循环。continue只能出现在while和for循环中

continue  示例:

 
for letter in 'ityouknow': # 第一个实例
if letter == 'n': # 字母为 n 时跳过输出
    continue
    print ('当前字母 :', letter)

 

pass 示例:

 

while True:
pass # Busy-wait for keyboard interrupt (Ctrl+C)


# 这通常用于创建最小结构的类:

class MyEmptyClass:
pass

总结

本节给大家介绍了 Python 语法中的流程控制相关语法,方便后期在代码逻辑中进行条件控制,留一个小问题,试着去用循环打印一下九九乘法表,答案下期揭晓。

参考:

http://www.pythondoc.com/pythontutorial3
https://www.runoob.com/python3/python3-tutorial.html

发布了375 篇原创文章 · 获赞 180 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/qq_41856814/article/details/104803197