美文网首页
python简单算法题(二)

python简单算法题(二)

作者: StephenZhang01 | 来源:发表于2018-08-12 20:32 被阅读0次

    1)求一个矩阵的转置

    matrix_before = [[1, 4], [2, 5], [3, 6]]

    matrix_trans = []

    length = len(matrix_before[0])

    for j in range(length):

        vectors = []

        for i in matrix_before:

            vectors.append(i[j])

        matrix_trans.append(vectors)

    print(matrix_trans)

    2)推算任意层的杨辉三角

    此题可以用填1法,补0法,置换法,对称法等求解。

    以下我用的是置换法:

    layer = int(input("input the layer number >>>"))

    before = [[1], [1, 1]]   

    for i in range(2, layer + 1):

        current_sub = [1] * (i + 1)

        before_sub = before[-1]

        for j in range(i - 1):

            val = before_sub[j] + before_sub[j + 1]

            current_sub[j + 1] = val

        before.append(current_sub)

    num = len(before[-1]) * len(str(before[-1][6])) + (len(before[-1]) - 1) * 2

    for i in before:

        print('{:^{}}'.format(i, num))

    3)生成15个0-15的随机数,分别列出不重复的数与重复的数有哪些,且统计重复的数出现几次。

    import random

    repeat = {}

    unique = []

    l = []

    for _ in range(10):

        l.append(random.randint(1, 10))

    k = [0] * len(l)

    for i in range(10):

        k[i] = l.count(l[i])

        if k[i] == 1:

            unique.append(l[i])

        else:

            repeat.fromkeys([l[i]])

            repeat[l[i]] = k[i]

    print("random num: ", l)

    print("unique num: {}".format(unique))

    print("repeat num: {}".format(repeat))

    相关文章

      网友评论

          本文标题:python简单算法题(二)

          本文链接:https://www.haomeiwen.com/subject/ifqebftx.html