8、Python流程控制

Python流程控制

1、if语句

判断一个命题的真实性,如果命题为真(True)则执行if的逻辑语句

  • 用法

    if bool_result: # 语法快

    ​ do # 业务代码块 注意缩进

  • 参数

    bool_result: 判断结果的真假,布尔类型

    do: 如果bool_result为True时执行任意python代码

  • 返回值

    if属于关键字,没有返回值

num = float(input("输入一个数字: "))
if num > 0:
   print("正数")
elif num == 0:
   print("零")
else:
   print("负数")

以上代码的输出结果如下

输入一个数字: 3
正数

2、else语句

else就是对于if条件不满足的时候执行另一个代码块的入口

  • 用法

    if bool_result:

    ​ do

    else:

    ​ elsedo # else语法块,需缩进,缩进等级与do语法一致

  • 参数

    elsedo: else语句对应的python代码块

  • 返回值

    else属于语法,没有返回值

flag = False
name = 'luren'
if name == 'python':         # 判断变量是否为 python 
    flag = True              # 条件成立时设置标志为真
    print 'welcome boss'     # 并输出欢迎信息
else:
    print name               # 条件不成立时输出变量名称

输出结果为

luren

2、elif语句

elif(或者如果)对于命题的非第一次的多种判断,每一种判断条件对应一组业务代码

  • 用法

    if bool_result:

    ​ do

    elif bool_result:

    ​ elifdo # 当前elif语句对应语法块

    elif bool_result:

    ​ elifdo # 缩进等级与do语法块一致

    else:

    ​ elsedo

  • 参数

    elifdo: 当前elif语句对应的python代码

  • 返回值

    elif属于语法,没有返回值

num = 5     
if num == 3:            # 判断num的值
    print 'boss'        
elif num == 2:
    print 'user'
elif num == 1:
    print 'worker'
elif num < 0:           # 值小于零时输出
    print 'error'
else:
    print 'roadman'     # 条件均不成立时输出

输出结果为:

roadman	

4、for循环

通过for关键字将列表,元组,字符串,字典中的每个元素按照序列顺序进行遍历

  • 用法

    for item in iterable: # for循环语法块

    ​ print(item) # 每次循环对应的代码块,代码块需要缩进

  • 参数

    iterable:可循环的数据类型,如列表,元组,字符串,字典

    item:iterable中的每一个元素(成员)

  • 返回值

    for循环是语句,没有返回值,但在特定情况下有返回值

for letter in 'Python':     # 第一个实例
   print("当前字母: %s" % letter)
 
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二个实例
   print ('当前水果: %s'% fruit)
 
print ("Good bye!")

以上实例输出结果

当前字母: P
当前字母: y
当前字母: t
当前字母: h
当前字母: o
当前字母: n
当前水果: banana
当前水果: apple
当前水果: mango
Good bye!

字典利用items函数进行for循环

  • 用法

    for key,value in dict.items()

    ​ print(key,value)

  • 参数

    items无参数

    key:for循环体中获取的字典当前元素的key

    value:for循环体中对应当前key的value值

  • 返回值

    for循环是语句,没有返回值,items返回一个伪列表

student = {'name':'张三','age':'25','phone':'12580','addr':'成都'}
for i in student.values():
    print(i)

以上实例输出结果

张三
25
12580
成都

python的内置函数——rage

返回的是一个一定范围的可迭代对象,元素为整型,它不是列表,无法打印信息,但可循环

  • 用法

    for item in range(start, stop, step=1):

    ​ print(item)

  • 参数

    start:开始的数字,类似索引的左边

    stop:结束的数字,类似索引的右边

    step:跳步,类似索引中的第三个参数

  • 返回值

    返回一个可迭代(循环的)以整型为主的对象

l = range(5)
for item in l:
    print(item)

以上实例输出结果

0
1
2
3
4

else在for循环中的使用

  • else语句只有在for循环正常退出后执行
  • 循环没有报错,没有中途停止
l = range(5)
for item in l:
    print(item)
else:
    print('for循环成功结束')

以上实例输出结果

1
2
3
4
for循环成功结束

嵌套for循环

  • for循环中的for循环

    a = [1, 2, 3]
    b = [4, 5, 6]
    for i in a:
        for j in b:
            print(i + j, '', end='')
    

    以上实例输出结果

    5 6 7 6 7 8 7 8 9 
    

continue与break

  • continue的功能

    循环遇到continue将停止本次数据循环,进入下一次循环

  • continue的用法

    while bool:

    ​ continue

    for item in iterable:

    ​ continue

    ​ print(item)

  • continue参数

    continue属于语法,不需要加()即可执行,无参数

  • continue返回值

    continue是语法,没有返回值

i = 1
while i < 11:
    if i % 2 == 0:
        i += 1
        continue
    print(i)
    i += 1

以上实例输出结果

1
3
5
7
9
  • break的功能

    使循环正常停止循环,这时如果循环配合了else语句,else语句将不执行

  • break的用法

    while bool:

    ​ break

    for item in iterable:

    ​ print(item)

    ​ break

  • break的参数

    break属于语法,不需要加()即可执行,无参数

  • break的返回值

    break是语法,没有返回值

a = 'a,bcd'
for i in a:
    if i == ',' :
        #终止循环
        break
    print(i,end="")
print("\n执行循环体外的代码")

以上实例输出结果

a
执行循环体外的代码

条件语句与break continue

  • continue与break通常伴随着循环语句中的条件语句,满足某些条件可以继续执行,不满足某些条件提前结束循环
  • 在while中,break语句优先于while逻辑体的判断
count = 1
while count >= 1:
    print(count)
    count += 1
    if count == 2:
        break

以上实例输出结果

1

案例,使用循环实现九九乘法表

相比于之前的九九乘法表的打印,有了循环之后,代码变得非常简洁

使用for循环

for i in range(1, 10):
    for j in range(1, i + 1):
        print('{} * {} = {}'.format(i, j, i*j), end=' ')
    print('')

使用while循环

i = 0
j = 0

while i < 9:
    i += 1
    while j < 9:
        j += 1
        print('{} * {} = {}'.format(j, i, i*j), end=' ')
        if i == j:
            j = 0
            print(' ')
            break

转载请注明来源