Python 索引映射密码

Python 索引映射密码

通过将整数字符串传递给特定字符串来定义索引映射密码。在Python中,我们有一些内置函数,例如str()、len()、join()和int(),用于基于索引映射密码解决问题。

让我们举个例子来理解这个问题:

给定字符串,

my_str = “Hyderabad”

给定索引,

idx = 101456

最终结果变为yHyrab

语法

示例中使用以下语法-

str()

这是Python中的一个内置函数,它接受任何值并将其转换为字符串。

len()

这是Python中的一个内置方法,返回对象的长度。

join()

The join()函数是Python中的一个内置函数,用于连接可迭代元素。它还按顺序组合每个元素。

int()

内置函数int将数字或字符串转换为整数形式。

使用for循环

该程序使用for循环遍历原始字符串的长度,并初始化索引值以打印特定的字符串。

示例

在下面的示例中,我们将通过定义一个名为idx_map_cypher()的函数来开始程序,它接受两个参数-r_str和index。这两个参数在函数调用时接收值,并且它是一个递归函数。变量result通过一个空字符串初始化其值,它将根据条件和给定的索引值存储新的特定字符串。接下来,使用for循环,其中变量i迭代进入str(index)。然后应用if语句,通过<操作符设置比较条件,比较idx和r_str,并使用+=运算符形成新的字符串并返回结果。现在,在变量my_str中创建原始字符串,并将索引值存储在变量idx中。然后使用函数调用并将其存储在变量res中。最后,我们使用一些变量(比如my_str、index和res)打印格式化输出。

def idx_map_cypher(r_str, index):
    result = ""
    for i in str(index):
        index = int(i)
        if index < len(r_str):
            result += r_str[index]
    return result
# Create the string
my_str = "Tutorialspoint"
# Set the index value
index = 6875
res = idx_map_cypher(my_str, index)
print("The original string:", my_str, "\nThe index value:", index, "\nString printing based on the index:", res)

输出

The original string: Tutorialspoint
The index value: 6875 
String printing based on the index: asli

使用列表推导式

该程序使用列表推导式,其中将使用一个名为join的方法根据给定的索引值将特定字符串组合起来,并帮助构建索引映射密码。

示例

在以下示例中,首先通过在变量my_str中创建输入字符串,然后显示该变量来开始程序。接下来,初始化名为index的变量以存储指定索引值的原始字符串的随机整数值。现在,它将使用列表推导式,在for循环中使用索引中的值对my_str中的字符进行索引,并将这些过程存储在变量res中。继续使用变量index和str(res)来显示结果。

# Create the string
my_str = "BROWSER"
print("Original string: " + my_str)
# Create the index
index = "4154"
# list comprehension
res = ''.join([my_str[int(i)] for i in index])
# Display the result
print("The index value:", index, "\nstring is", str(res))

输出

Original string: BROWSER
The index value: 4154 
string is SRES

使用反向索引映射Cypher

程序使用反向索引,这意味着如果变量索引指定任何整数值,它将以逆序的形式返回结果。例如-

输入

my_str = “PLOT”
index = 12

输出

OL

解释

输入字符串在变量my_str中初始化,而索引变量将值设置为12. 为了将索引翻转,它将使用一些条件,并可能以相反的形式打印索引字符串。

示例

在以下示例中,我们将使用一个名为rev_index_map_cypher的递归函数开始程序,该函数接受两个参数-r_str和index,在函数调用期间将获取该值。然后在变量result中存储空字符串,该字符串将基于反向索引存储特定字符串。现在使用for循环迭代字符串索引值以及其切片。继续创建变量my_str中的原始字符串,并初始化名为index的变量以设置整数值。然后使用函数调用并将其存储在变量res中,并打印结果。

def rev_index_map_cypher(r_str, index):
    result = ""
    for i in str(index)[::-1]:
        idx = int(i)
        if idx < len(r_str):
            result += r_str[idx]
    return result
# Create the string 
my_str = "INTERSTELLAR"
# Set the index value
index = 7455
res = rev_index_map_cypher(my_str, index)
print("The original string:", my_str, "\nThe index value:", index, "\nString printing based on index:", res)

输出

The original string: INTERSTELLAR 
The index value: 7455 
String printing based on the index: SSRE

结论

我们讨论了解决问题陈述的各种方法。索引映射密码法通常用于密码学和计算机科学领域。术语“密码”将值定义为索引,以找到特定的字符串。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程