python入门之函数function

"""
函数 function
定义:
功能,使用一个名称,包装多个语句
语法:

def 名字(形参):
函数体

名字(实参)
"""
# 定义(做功能)函数,函数内的东西不调用
def attack():
    """

    :return:
    """
    print("")
    print("")
    print("rap")
    print("打篮球")


# 调用函数
attack()

# ..........
# 调用函数
attack()

# ..........
# 调用函数
attack()

 

# ()为形式参数
def attack_repeat(count):
    """

    :param count:
    :return:
    """
    for i in range(count):
        print("")
        print("")
        print("rap")
        print("打篮球")


# 调用函数
# 实际参数
attack_repeat(3)

 

# 练习1:
# 将下列代码定义到函数中,再调用一次。
# for r in range(3): # 0 1 2
# #内层循环控制列,外层循环控制行
# for c in range(4): # 0123 0123 0123
# print("*", end=" ")
# print()
def print_rectangle(r_count, c_count, char):
    """
    打印矩形
    :param r_count: 行数
    :param c_count: 列数
    :param char: 填充的字符
    """
    for r in range(r_count):
        for c in range(c_count):
            print(char, end="")
        print()


print_rectangle(3, 4, "*")

 

# 练习2:
# 定义在控制台中打印一维列表的函数
# 例如:[1, 2, 3] -> 123 每个元素一行
def print_list(list_target):
    """
        打印列表
    :param list_target:  目标列表
    """
    for item in list_target:
        print(item)


list01 = [1, 2, 3]
print_list(list01)

 

# 练习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)

 

# 练习4:
# 方阵转置算法
# (不用做成函数)
# 提示:详见内存图

 

 

内存图解刨:

 

 

list02 = [
    [1, 2, 3, 4],
    [5, 6, 7, 8],
    [9, 10, 11, 12],
    [13, 14, 15, 16]
]
# # 思路:
# # 第一步:
# # list02 [1][0] <-> list02[0][1] # 2<->5
# # list02 [2][0] <-> list02[0][2] # 3<->9
# # list02 [3][0] <-> list02[0][3] # 4<->13
# # 第二步:
# for r in range(1, 4):
#     # list02[r][0] <-> list02[0][r]
#     pass
#
# # list02[2][1] <-> list02[1][2]  # 7<->10
# # list02[3][1] <-> list02[1][3]  # 8<->14
# for r in range(2, 4):  # 2 3
#     # list02[r][1] <-> list02[1][r]  # 7<->10
#     pass
#
# # list02[3][2] <-> list02[2][3]  # 12<->15
# for r in range(3,4):
#     # list02[r][2] <-> list02[2][r]  # 12<->15
#     pass
# # 第三步:
# for c in range(1, 4):  # 1 2 3
#     for r in range(c, 4):
#         list02[r][c - 1], list02[c - 1][r] = list02[c - 1][r], list02[r][c - 1]  # 12<->15
# print(list02)

for c in range(1, len(list02)):  # 1 2 3
    for r in range(c, len(list02)):
        list02[r][c - 1], list02[c - 1][r] = list02[c - 1][r], list02[r][c - 1]  # 12<->15
print(list02)

 

posted @ 2023-02-17 16:33  黎小菜  阅读(234)  评论(0)    收藏  举报