Python如何实现将四位数字组合成一个不重复的三位数,for循环暴力解法

Python如何实现将四位数字组合成一个不重复的三位数,for循环暴力解法

周末的时候遇到一个题目,看似很简单,但是在当时考试的情况下来说,我误判了,我没有把握好时间,导致我后面时间很紧,没有时间去思考,所以我错失了这道题,14分啊,多么的可惜

如何将[1,3,5,7]这四个数字组合成一个三位数,要求这三位数不能重复且是各个位置的数字也不能重复,比如能组合成:135,157,137…

其实当我看到这道题我想到的是排列组合,但是编程怎么实现排列组合呢?

不管了,时间紧迫,所以来个暴力解法吧,于是当时考试的时候我就写了三个for循环…(简直不可思议,没有什么效率可言,实现了再说)

直接上代码

count=0
print('[1,3,5,7]组成的三位数且不重复的总数为:')
for i in [1,3,5,7]:
    for j in [1,3,5,7]:
        for m in [1,3,5,7]:
            if i!=j!=m:
                count=count+1
                print(i%100*100+j%10*10+m,end=',')
                if(count%9==0):
                    print()

 
print('\n[1,3,5,7]组成的三位数且不重复的总数为:',count)

运行结果如下:

Python如何实现将四位数字组合成一个不重复的三位数,for循环暴力解法_第1张图片

不知道你们能不能看得懂哈,我当时是因为时间太赶,确实没写出来,只知道思路,可是老师并不会给我分啊,唉,,擦肩而过的14分,多么痛的领悟

如果你们看不懂的,欢迎评论或者私信我,你们有其他更好的思路解法也欢迎评论区说说,互相学习

你可能感兴趣的:(Python那些事,python,pycharm,算法)