python有求必应屋

如何跳出多层嵌套循环

单层循环可以用break,多层循环可以使用以下的三种方法

  • 设置一个标记
  • 将循环写在函数内部,用return
def work():
    for i in range(10):
        for j in range(10):
            if i+j > 5:
                return i,j

print work()
  • 用异常。

自定义异常:

class Found(Exception):
    pass

try:
    for i in range(10):
        for j in range(i): 
            if i + j > 5:
                raise Found
except Found:
    print i, j

创建二维矩阵,矩阵的行列统计

2 d_list = [[0 for col in range(cols)] for row in range(rows)]
a = [[1, 2, 8, 9],
    [2, 4, 9, 12],
    [4, 7, 10, 13],
    [6, 8, 11, 15],
    [7, 9, 12, 17]]

#len(a),=5 len(a[0])=4

区分print和return

可把函数体开始到结束的语句看成是一次旅行计划,参数是我们计划携带去旅行的东西。如果没有return语句,就意味着我们不带回任何东西;如果有return语句,则意味着我们带回来一些东西,比如一些旅游照片、纪念品等(也可以直接带回原来带出去的东西)。

def fnc1(x, y):
    return x+y
    print ('show me!')
print(fnc1(1,2))

>>>3
  1. return 会携带返回值,但是后面必须跟print才能显示出返回的内容
  2. return之后的函数内容不再执行,和break相似
  3. print 是直接在函数中打印,没有返回任何值

你可能感兴趣的:(python有求必应屋)