测试之家
  • Topics
  • QA
  • 招聘
  • 社区学堂新
  • 开源项目
  • 活动
  • Wiki
  • Sign Up
  • Sign In
会员
xiaojunzhen (肖军)
第 36974 位Users / 2018-09-04
顺丰科技有限公司 @ 深圳
6 篇帖子 • 31 条回帖
4 关注者
1 正在关注
1 收藏
testerxiao
GitHub Public Repos
  • python-spider 0

    :rainbow:Python3网络爬虫实战:VIP视频破解助手;GEETEST验证码破解;小说、动漫下载;手机APP爬取;财务报表入库;火车票抢票;抖音APP视频下载;百万英雄辅助;网易云音乐...

  • testa 0

  • test 0

    python web ui autotest

  • awesome-python3-webapp 0

    小白的Python入门教程实战篇:网站+iOS App源码→ http://t.cn/R2PDyWN 赞助→ http://t.cn/R5bhVpf

More on GitHub
  • 个人信息
  • 专栏
  • 话题
  • 回帖
  • 收藏
  • 关注中
  • 关注者
  • 某司面试题,输入任意一个数字 n,产生九宫格 n 位手势密码,例如输入 4,则产生的 (1,2,3,6)、(1,4,7,8) 都可以。九宫格规则是:数字只能连相邻的数字,且不能出现重复。请问使用 python 如何实现,谢谢。 at September 05, 2018

    那你看看 30 楼的实现吧,我认为我这个答案是满足你的需要的。

  • 某司面试题,输入任意一个数字 n,产生九宫格 n 位手势密码,例如输入 4,则产生的 (1,2,3,6)、(1,4,7,8) 都可以。九宫格规则是:数字只能连相邻的数字,且不能出现重复。请问使用 python 如何实现,谢谢。 at September 05, 2018

    如果不做限制的话,那这题那就是简单的取几个数排列组合,再去重就是了。不过做题之前是应该向出题者弄清楚规则需求。

  • 某司面试题,输入任意一个数字 n,产生九宫格 n 位手势密码,例如输入 4,则产生的 (1,2,3,6)、(1,4,7,8) 都可以。九宫格规则是:数字只能连相邻的数字,且不能出现重复。请问使用 python 如何实现,谢谢。 at September 05, 2018

    我理解的九宫格规则是:数字只能连相邻的数字,且不能出现重复。如果我没理解错的话,那就没有那么复杂吧。我前面也写了一个实现。

  • 某司面试题,输入任意一个数字 n,产生九宫格 n 位手势密码,例如输入 4,则产生的 (1,2,3,6)、(1,4,7,8) 都可以。九宫格规则是:数字只能连相邻的数字,且不能出现重复。请问使用 python 如何实现,谢谢。 at September 04, 2018
    # -*- coding: utf-8 -*-
    """
    主要实现思路
    主要是根据手势密码锁来定义基本操作规则(只能连接临近的数字,不能越过数字进行连接),再运用类比法构造实现(不能出现重复的数字)。
    """
    #定义基本规则
    key=[[[1,2],[1,4],[1,5]],[[2,1],[2,3],[2,4],[2,5],[2,6]],[[3,2],[3,5],[3,6]],[[4,1],[4,2],[4,5],[4,7],[4,8]],[[5,1],[5,2],[5,3],[5,4],[5,6],[5,7],[5,8],[5,9]],[[6,3],[6,5],[6,8],[6,9],[6,2]],[[7,4],[7,5],[7,8]],[[8,7],[8,9],[8,4],[8,5,],[8,6]],[[9,6],[9,5],[9,8]]]
    
    #1个
    def rank1(key):
        skey=[]
        for i in range(1,10):
             skey.append(key[i-1][0][0])
        return skey
    #2个
    def rank2(key):
        skey=[]
        key1=rank1(key)
        for key2 in key1:
           for dkey in key[key2-1]:
                skey.append(dkey)
        return skey
    #3个
    def rank3(key):
        skey=[]
        key2=rank2(key)
        for dkey in key2:
            for key3 in key[dkey[-1]-1]:
                tim=[]
                if (key3[1] not in dkey) and (len(tim)<3):
                    for okey in dkey:
                            tim.append(okey)
                    tim.append(key3[1])
                    skey.append(tim)
        return skey
    #4个
    def rank4(key):
        skey=[]
        key2=rank3(key)
        for dkey in key2:
            for key3 in key[dkey[-1]-1]:
                tim=[]
                if (key3[1] not in dkey) and (len(tim)<4):
                    for okey in dkey:
                            tim.append(okey)
                    tim.append(key3[1])
                    skey.append(tim)
        return skey
    #5个
    def rank5(key):
        skey=[]
        key2=rank4(key)
        for dkey in key2:
            for key3 in key[dkey[-1]-1]:
                tim=[]
                if (key3[1] not in dkey) and (len(tim)<5):
                    for okey in dkey:
                            tim.append(okey)
                    tim.append(key3[1])
                    skey.append(tim)
        return skey
    
    #6个
    def rank6(key):
        skey=[]
        key2=rank5(key)
        for dkey in key2:
            for key3 in key[dkey[-1]-1]:
                tim=[]
                if (key3[1] not in dkey) and (len(tim)<5):
                    for okey in dkey:
                            tim.append(okey)
                    tim.append(key3[1])
                    skey.append(tim)
        return skey
    #7个
    def rank7(key):
        skey=[]
        key2=rank6(key)
        for dkey in key2:
            for key3 in key[dkey[-1]-1]:
                tim=[]
                if (key3[1] not in dkey) and (len(tim)<5):
                    for okey in dkey:
                            tim.append(okey)
                    tim.append(key3[1])
                    skey.append(tim)
        return skey
     #8个
    def rank8(key):
        skey=[]
        key2=rank7(key)
        for dkey in key2:
            for key3 in key[dkey[-1]-1]:
                tim=[]
                if (key3[1] not in dkey) and (len(tim)<5):
                    for okey in dkey:
                            tim.append(okey)
                    tim.append(key3[1])
                    skey.append(tim)
        return skey
    #9个
    def rank9(key):
        skey=[]
        key2=rank8(key)
        for dkey in key2:
            for key3 in key[dkey[-1]-1]:
                tim=[]
                if (key3[1] not in dkey) and (len(tim)<5):
                    for okey in dkey:
                            tim.append(okey)
                    tim.append(key3[1])
                    skey.append(tim)
        return skey
    
    
    print(rank4(key))
    
    
    
    
  • Prev
  • 1
  • 2
  • 关于 / 活跃用户 / 中国移动互联网测试技术大会 / 反馈 / Github / API / 帮助推广
    TesterHome社区,测试之家,由众多测试工程师组织和维护的技术社区,致力于帮助新人成长,提高测试地位,推进质量发展。Inspired by RubyChina
    友情链接 WeTest腾讯质量开放平台 / InfoQ / 掘金 / SegmentFault / 测试窝 / 百度测试吧 / IT大咖说
    简体中文 / 正體中文 / English

    ©testerhome.com 测试之家   渝ICP备2022001292号
      渝公网安备 50022202000435号    版权所有 © 重庆年云聚力信息技术有限公司