zoukankan      html  css  js  c++  java
  • Python 3.X 练习集100题 01

    有以下几个数字:1、2、3、4、5,能组成多少个互不相同且无重复数字的三位数?都是多少?

    方法1:

    复制代码
    import itertools
    from functools import reduce
    
    lyst = [1, 2, 3, 4, 5]
    result = []
    
    for el in itertools.permutations(lyst, 3):
        temp = reduce(lambda x,y:x * 10 +y, el)
        result.append(temp)
    
    print(f'总共有{len(result)}个互不相同且五重复数字的三位数,分别是:')
    print(result)
    复制代码

    方法2:

    复制代码
    import copy
    numbers = [1, 2, 3, 4, 5]
    tri = []
    for i in numbers:
        d_u = copy.copy(numbers)
        d_u.remove(i)
        for j in d_u:
            u = copy.copy(d_u)
            u.remove(j)
            for k in u :
                tri.append(i * 100 + j * 10 + k)
    
    print(tri)
    print(len(tri))
    复制代码

    方法3:

    复制代码
    import itertools
    count = 0
    for i in itertools. product([1,2,3,4,5], repeat=3):
        if i[0] != i[1] and i[0] != i[2] and i[1] != i[2]:
            print(i[0]*100 + i[1]*10 + i[2])
            count += 1
    print(count)
    复制代码

    方法4:

    复制代码
    firstNumber = [1, 2, 3, 4, 5]
    count = 0
    for i in firstNumber:
        secondNumber = firstNumber[:]
        secondNumber.remove(i)
        for j in secondNumber:
            thirdNumber = secondNumber[:]
            thirdNumber.remove(j)
            for k in thirdNumber:
                print(str(i) + str(j) + str(k), end=",")
                count += 1
    print("一共有{}个数".format(count))
    复制代码
  • 相关阅读:
    java线性表之顺序表实现
    Page Rank 算法
    逻辑回归梯度下降推导
    逻辑回归再理解
    最大似然估计的再理解
    DeepLearning中CRF计算原理
    评价指标-精确率、召回率、ROC曲线
    基于贝叶斯平均的新词发现算法
    统计学习方法概论
    多模字符串匹配算法-Aho–Corasick
  • 原文地址:https://www.cnblogs.com/ElegantSmile/p/10830158.html
Copyright © 2011-2022 走看看