继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

[硕.Love Python] 不重复的3位数

程序员硕
关注TA
已关注
手记 19
粉丝 1.7万
获赞 886

1.题目: 0~9这10个数字可以组成多少不重复的3位数?

2.源码:

[100 * x + 10 * y + z for x in xrange(1, 10) for y in xrange(10) for z in xrange(10) if (lambda a, b, c: (a - b) * (b - c) * (c - a))(x, y, z)]

3.思路: 迭代->两两比较.

打开App,阅读手记
6人推荐
发表评论
随时随地看视频慕课网APP

热门评论

老师,用这种方法觉得怎样?

[x for x in xrange(100,1000) if (str(x)[0] != str(x)[1] and str(x)[1] != str(x)[2] and str(x)[0] != str(x)[2])]



#coding=utf-8
def my_cmp(a,b,c):
    # 3个数互相减,没有相同就不会反回0
    return (a-b)*(b-c)*(c-a)
l=[]
for x in xrange(1,10):
    for y in xrange(10):
        for z in xrange(10):
            if my_cmp(x,y,z):
                l.append(x*100+y*10+z)
print l


搞懂了

第一次知道匿名函数可以这么用

>>> (lambda x,y:x+y)(3,5)
8


有这么多:9*9*8=648

查看全部评论