P85 Python基础-8.1 课程内容回顾
一、day07复习
"""
day07 复习
能力提升for for
# 结论:外层循环执行一次,内层循环执行多次。
外层控制行,内层控制列.
for r in range(2):# 0 1
for c in range(3):#012 012
pass
函数
定义:功能,使用一个名称,包装多个语句。
语法:
做
def 名字(形参):
函数体
用
名字(实参)
"""
P86 Python基础-8.2 练习解析
一、练习1
"""
3. 定义在控制台中打印二维列表的函数
[
[1,2,3,44],
[4,5,5,5,65,6,87],
[7,5]
]
1 2 3 44
4 5 5 5 65 6 87
7 5
"""
def print_double_list(double_list):
"""
打印二维列表
:param double_list: 需要打印的二维列表
"""
for line in double_list:
for item in line:
print(item, end=" ")
print()
list01 = [
[1, 2, 3, 44],
[4, 5, 5, 5, 65, 6, 87],
[7, 5]
]
print_double_list(list01)
二、练习2
"""
4. (扩展)方阵转置.(不用做成函数)
提示:详见图片.
"""
list01 = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16],
]
# 分析过程
"""
#list01[1][0] <->list01[0][1]
#list01[2][0] <->list01[0][2]
#list01[3][0] <->list01[0][3]
for r in range(1,4):
#list01[r][0]<->list01[0][r]
pass
#list01[2][1] <->list01[1][2]
#list01[3][1] <->list01[1][3]
for r in range(2,4):#2 3
# list01[r][1] <->list01[1][r]
pass
#list01[3][2] <->list01[2][3]
for r in range(3,4):
# list01[r][2] <->list01[2][r]
pass
for c in range(1,4):#1 2 3
for r in range(c,4):
list01[r][c-1],list01[c-1][r]=list01[c-1][r],list01[r][c-1]
"""
for c in range(1, len(list01)): # 1 2 3
for r in range(c, len(list01)):
list01[r][c - 1], list01[c - 1][r] = list01[c - 1][r], list01[r][c - 1]
print(list01)
自己的代码:只考虑下三角的元素坐标
list3 = [
[1,2,3,4,0],
[4,6,7,8,5],
[9,10,11,12,8],
[13,14,15,16,9],
[79,50,55,67,788]
]
def trans_list(list2):
for i in range(1,len(list2)):
for j in range(len(list2[1])-1):
list2[i][j], list2[j][i] = list2[j][i],list2[i][j]
trans_list(list3)
print(list3)
P87 Python基础-8.3 函数返回值
一、定义:
方法定义者告诉调用者的结果。
二、语法:
return 数据
三、说明:
return后没有语句,相当于返回 None。
函数体没有return,相当于返回None。
四、示例代码:return语句,调试键F7和F8
"""
函数返回值 语法
"""
# 参数:调用者传递给定义者的信息
# 返回值:定义者传递给调用者的结果
def fun01(a):
print("fun01执行喽")
# 作用:1. 返回结果 2.退出方法
return 20
print("fun01又执行喽")
# F8 逐过程 (调试时跳过方法)
# F7 逐语句 (调试时进入方法)
re = fun01(10)
print(re)
# 无返回值函数
def fun02(a):
print("fun01执行喽")
# return None
re = fun02(100