Python基础三(选择,循环)-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Python基础三(选择,循环)

简介: 序   首先我们知道程序的执行有三种结构:顺序、选择、循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法。今天我就说的是程序的基本结构的格式和方法。


  首先我们知道程序的执行有三种结构:顺序、选择、循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法。今天我就说的是程序的基本结构的格式和方法。

  注:所有的程序都可以通过基本结构(顺序,选择,循环)书写出来。

流程结构

顺序结构语句

  • 1:什么是流程控制语句
    • 流程控制语句:可以控制程序的执行流程。
  • 2:流程控制语句的分类
    • 顺序结构
    • 选择结构
    • 循环结构
  • 3:执行流程:
    • 从上往下,依次执行。

选择结构语句

if 语法

  • if-else的使用格式
if 条件:
    满足条件时要做的事情1
    ...(省略)...
else:
    不满足条件时要做的事情1
    ...(省略)...
  • elif的功能
if 条件1:
    满足条件1时要做的事情
    ...
elif 条件2:
    不满足条件1,满足条件2时要做的事情
    ...
else:
    不满足条件12时要做的事情
    ...

and…or语法

   Python的and/or操作与其他语言不同的是它的返回值是参与判断的两个值之一,所以我们可以通过这个特性来实现Python下的 a ? b : c !

  Python下我们可以这么用:“ a and b or c ”(此方法中必须保证b必须是True值),python自左向右执行此句,先判断a and b :如果a是True值,a and b语句仍需要执行b,而此时b是True值!所以a and b的值是b,而此时a and b or c就变成了b or c,因b是True值,所以b or c的结果也是b;如果a是False值,a and b语句的结果就是a,此时 a and b or c就转化为a or c,因为此时a是 False值,所以不管c是True 还是Flase,a or c的结果就是c

当bool and a or b相当于bool? a: b
注:但是特殊情况是,若a为假,则不会相当于,而是返回b
解决办法:用 (bool and [a] or [b])[0]代替

循环结构

while语法

while 条件:
    条件满⾜时,做的事情1
    条件满⾜时,做的事情2
    条件满⾜时,做的事情3
    ...(省略)...

for语法

for 临时变量 in 列表或者字符串等:
    循环满⾜条件时执⾏的代码
else:
    循环不满⾜条件时执⾏的代码

例子

 name = 'dongGe'

    for x in name:
        print(x)

break的作⽤:⽤来结束整个循环
continue的作⽤:⽤来结束本次循环,紧接着执⾏下⼀次的循环

Python 跳出多重循环

方法1:自定义异常

# -*- coding:utf-8 -*-  
""" 
功能:python跳出循环 
"""  
# 方法1:自定义异常  

class Getoutofloop(Exception):  
    pass  
try:  
    for i in range(5):  
        for j in range(5):  
            if i == j == 2:  
                raise Getoutofloop()  
            else:  
                print (i, '----', j)  
except Getoutofloop:  
    pass  

方法2:将循环封装为函数,return

# -*- coding:utf-8 -*-  

""" 
功能:python跳出循环 
"""  
# 方法2:封装为函数,return  


def test():  
    for i in range(5):  
        for j in range(5):  
            if i == j == 2:  
                return  
            else:  
                print (i, '----', j)  

test()

方法3:用for…else…语句

# -*- coding:utf-8 -*-  

""" 
功能:python跳出循环 
"""  
# 方法2:for...else...用法,用于跳出指定循环层  

for i in range(5):  
    for j in range(5):  
        for k in range(5):  
            if i == j == k == 3:  
                break  
            else:      
                print (i, '----', j, '----', k)  
        else:        # else1  
            continue  
        break        # break1  
    else:            # else2  
        continue  
    break            # break2  

方法3解释:

  • (1)break能跳出某一重循环(该重循环的本次及剩余次数都不再执行),但并不能跳出该重循环的其他外重循环。
      例如,最内第3重循环break之后,程序返回第2重循环继续执行第2重的下一次,然后第3重循环将再次执行。

  • (2)continue是跳过某一重循环的某一次,但该重循环的剩余次数会继续执行。

  • (3)for…else:其中else块中的语句将在for循环完整执行过之后才会被执行,如果for循环被break,则else块将不会被执行。

  • (4)方法3中,当第3重循环满足i == j == k ==3时,第3重循环被break,则并列的else1将跳过,执行break1,导致第2重循环被终止,则else2被跳过,执行break2,导致第1重循环被终止。最终实现跳出整个循环。

      for…else加break举例

# -*- coding:utf-8 -*-  

""" 
功能:for...else语句 
"""  

for i in range(5):  
    print i  
else:  
    print u"循环完整执行一次。"  

for j in range(6):  
    for k in range(6):  
        print j, k  
        if j == 3:  
            print u"内重循环即将被break"  
            break  
    else:  
        print u"内重循环完整执行一次。"  
else:  
    print u"外重循环完整执行一次。"  

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章