我是初学蟒蛇学习者。我想知道是否可以在不使用任何模块的情况下创建基本的按摩加密系统。我希望我的程序检查并使用字符串中的变量名称。
让我们说,
a = 'l'
b = '5'
c = 'o'
x = input("Enter your massage: ")
print(x, 'THE_USER INPUT matching the variable name and values')
我知道我可以使用while或if,但这需要永远。另外,在匹配变量之前,如何分隔每个字符串字母。
我正在使用python 3.谢谢:)
答案 0 :(得分:2)
我不知道这是不是你想要做的,但是这里有:
a = 'l'
b = '5'
c = 'o'
x = input("Enter your message: ")
values = [globals().get(var, '') for var in list(x)]
print "".join(values)
示例强>
Enter your message: abc
l5o
更合适的方法可能是:
replacements = { 'a': 'l', 'b': '5', 'c': 'o' }
x = input("Enter your message: ")
print "".join([replacements.get(val, "") for val in x])
答案 1 :(得分:1)
使用string.translate这是一种更正确的方式来做你想要的事情
from string import maketrans
in_tab = "abcdefghijklmnopqrstuvwxyz "
out_tab = "5QR&*(=-;Wwz%$^#@!yY~:123xq"
t = maketrans(in_tab,out_tab)
print ("Hello World".translate(t))
答案 2 :(得分:1)
如果您想用另一个字符替换给定字符的每个匹配项,请查看str.translate
函数。
您可以按如下方式扩展示例代码:
import string
in = input("Enter your message: ")
mapping = string.maketrans('abc', '15o')
out = in.translate(mapping)
print(out)
每个a
由1
替换,每b
由5
替换,每c
由o
替换。