• Isograms 非模式词


    Isograms

    Isograms,也称为 "非模式词",是一个逻辑学术语,指没有重复字母的单词或短语。

    等分词可以作为密码中的密钥,因为相同长度的等分词序列可以在符号之间进行简单的一对一映射。

    PATHFINDERDUMBWAITERBLACKHORSE这样的10个字母的等值线通常被销售人员使用,这些产品的零售价格通常是协商的,如二手车、珠宝或古董。

    例如,使用PATHFINDER密码,P代表1,A代表2,以此类推。一件售价为1200美元的物品的价格标签也可能带有加密字母FRR,写在标签的背面或底部。熟悉PATHFINDER密码的销售人员会知道,该商品的原始成本是500美元。 (来源:维基)

    任务

    完成这些功能,以便用所提供的等值键对输入的数字/代码进行编码/解码。注意:键是不分大小写的(可以是大写或小写)。

    对于输入,你应该接受整数或字符串格式的数字(编码函数),或一个字符串(解码函数)。

    将结果作为一个大写的字符串返回。

    如果提供的输入和/或键不正确,是空的或丢失的,返回 "键或输入不正确!

    例子


     500, "pathfinder" --> "frr" 
    "500""pathfinder" --> "frr"
    "frr""pathfinder" --> "500"

     500, "PATHFIND" --> "不正确的键或输入!" 
     500, "PATHFINDEE" --> "不正确的键或输入!" 
    "LOL""PATHFINDER" --> "不正确的键或输入!"
    • 1

    请看样本测试中的一些更多的例子。

    def isogram_encode(input=None, key=None):
        try:
            assert input and len(key) == len(set(key)) == 10
            trans = dict(zip('1234567890', key.upper()))
            return ''.join([trans[d] for d in str(input)])
        except:
            return 'Incorrect key or input!'

    def isogram_decode(input=None, key=None):
        try:
            assert input and len(key) == len(set(key)) == 10
            trans = dict(zip(key.upper(), '1234567890'))
            return ''.join([trans[c] for c in input.upper()])
        except:
            return'Incorrect key or input!'
    • 1

    技巧多多!

    本文由 mdnice 多平台发布

  • 相关阅读:
    决策树-分析与应用
    leetcode 刷题 log day 42
    EPPlus 6.1.0 行走在2022.11
    探索随机森林: 机器学习中的集成学习神器
    SparkCore系列-5、RDD 函数练习
    linux安装配置 kafka并简单使用
    Linux下编写一个C语言程序
    【深入理解java虚拟机】 - 类加载器与双亲委派模型
    使用Python 获取天气数据
    Linux上安装jdk 1.8
  • 原文地址:https://blog.csdn.net/qq_40523298/article/details/127436691