python不等号_教写一个简单的python小程序(02)

点击蓝字

关注我们

  10e522121b50f73b53db20fbc1103577.png

会酸的柚子

     Python爱好者

     搞机少年

3fb23b7fabb1fab3cd803763387f832a.gif

python小程序教写系列第二期

让我们一起看看今天要解决的问题~

f6d7387149d68050f03a7fd8a093e98f.png

这道题目我们如果学过排列组合

便能够快速地算出结果

我们来复习一下排列的定义及公式

排列定义:从n个不同的元素中,取r个不重复的元素,按次序排列,称为从n个中取r个的无重排列。排列的全体组成的集合用P(n,r)表示。

排列计算公式

834ceb23cdf72510889ed2617471a9d9.png

我们把题目给的数据代入公式,

可以快速的计算出结果,

有24种情况

情况如下:

123,124,132,142,134,143,213,214,231,241,234,

243,312,314,321,341,324,342,412,413,421,

431,423,432

我们分析一下排列的规律。得出程序的一个思路。

题目要的结果是个三位数,

可以填在百位、十位、个位的数字都是1、2、3、4。

我们可以把这个三位数拆成三部分,

让1、2、3、4这四个数都循环一遍,

再去掉重复的排列情况。

这便是我们的编程思路

由此写出代码

25882681cef9fbfb63de69b843b9dd28.png

(缩进一次均为四格,以此类推)

下面我们来解释这几行代码的作用。

第一行

i作为三位数中的一位,让它从1开始取数,取到4

第二行

在第一行的基础上缩进四格空格,在第一行取数的同时,第二行j作为三位数中的一位,同样也是从1开始取数,取到4

第三行

在第二行的基础上再缩进四格空格,表示在上行的同时,继续取数,也是从1取到4

第四行

if就是如果 

!=   则是不等号

代码的意思是如果i 不等于k,同时i 不等于j,同时j 不等于k

第五行

打印出i j k 

便组成了我们需要的答案

这样的写法非常好理解,

虽然对于电脑来说计算量大了一点,

但也就是几十毫秒,

对于初学者来说还是非常适合入门的。

前三行都是在取数,我们可以看看前三行都取出哪些数。

1 1 1,1 1 2,1 1 3,1 1 4,1 2 1,1 2 2,1 2 3,

1 2 4,1 3 1,1 3 2,1 3 3,1 3 4,1 4 1,1 4 2

1 4 3,1 4 4,2 1 1,2 1 2,2 1 3,2 1 4,2 2 1

2 2 2,2 2 3,2 2 4,2 3 1,2 3 2,2 3 3,2 3 4

2 4 1,2 4 2,2 4 3,2 4 4,3 1 1,3 1 2,3 1 3

3 1 4,3 2 1,3 2 2,3 2 3,3 2 4,3 3 1,3 3 2,

3 3 3,3 3 4,3 4 1,3 4 2,3 4 3,3 4 4,4 1 1

4 1 2,4 1 3,4 1 4,4 2 1,4 2 2,4 2 3,4 2 4

4 3 1,4 3 2,4 3 3,4 3 4,4 4 1,4 4 2,4 4 3

4 4 4

我们发现其中许多数字个十百位都重复出现了,

所以我们在前三行的基础上增加第四行用来筛选

好了,今天的python小程序就到此结束,

大家可以自己动手试试,

或者你有更好的思路也可以分享给我们

313665cb986bafefb97ed023f6e08b42.png

微信公众号 : 柚子的code

编辑:会酸的柚子

审核:柯基猿

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值