开发者社区> 龙神之怒> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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"外重循环完整执行一次。"  

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

相关文章
7_python基础—while循环应用1-100累加和
7_python基础—while循环应用1-100累加和
75 0
猪行天下之Python基础——4.1 条件判断与循环
内容简述: 1、条件判断 2、循环
20 0
Python基础06 循环
原文:Python基础06 循环 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!   循环用于重复执行一些程序块。从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系。
803 0
Python基础06 循环
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!   循环用于重复执行一些程序块。从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系。
644 0
Python基础(条件判断和循环) if elif else for while break continue;
条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= 18: print('your age is', age) print('adult') 根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。
2087 0
+关注
龙神之怒
让我们一起努力奋斗吧
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Python系列直播第一讲——Python中的一切皆对象
立即下载
Python第五讲——关于爬虫如何做js逆向的思路
立即下载
Python 脚本速查手册
立即下载