上机实验(函数)

  1. 编写一个名称为 factorial 的函数,该函数接受一个正整数,然后计算并返回该数的阶乘。你可以将计算结果与 math.factorial(n) 函数相比较以验证器正确性。

  2. 编写一个名称为 max 的函数,该函数接受不定个数的数字,然后返回其最大值。要求不能使用内置的 max 函数。

  3. 编写一个名称为 is_prime 的函数,该函数接受一个大于 1 的自然数,然后判断该数是否为素数。若是,返回 True,否则返回 False

  4. 常用的温度单位有摄氏度(℃)、开尔文(K)和华氏度(℉),后两者和摄氏温标的转换公式如下:

    [K] = [°C] + 273.15

    [°F] = [°C] × 9/5 + 32

    请编写一个函数,实现在这三种温度值之间进行转换,该函数的签名如下,其中 input_scaleoutput_scale 的值只能为 "C""K""F",分别代表输入和输出的温度单位是摄氏温标、开尔文温标和华氏温标。

    def temperature_scale_conversion(value, input_scale="C", output_scale="C"):
        output = value
        # TODO: 请在此补充代码!
        return output
  5. 编写一个名称为 transpose 的函数,该函数接受一个矩阵形式的二维列表或元组,并返回该矩阵的转置矩阵,同时原矩阵保持不变。请在以下代码的基础上完成:

    def transpose(matrix):
        row_num = len(matrix)
        col_num = len(matrix[0])
        trans_matrix = []
        # TODO: 请在此补充代码!
        
        return trans_matrix
    
    # 验证结果
    example_matrix = [
        [1, 2, 3],
        [4, 5, 6],
        [7, 8, 9],
        [10, 11, 12]
    ]
    trans = transpose(example_matrix)
    print(trans)