【发布时间】:2013-02-15 23:36:31
【问题描述】:
好吧,我来这里之前做了一些研究,但没有找到任何特别适合我想要找到的东西。
这个问题有点困难,(至少对我来说)所以我会尽力在这里解释它。
好的:所以我有一个字母列表,这些字母取自用户输入的字符串。
(他们输入一个字符串,然后将其全部分解为单个字母并添加到一个列表中,其中每个字母都是它自己的“元素”)
现在我想这样做是因为我想让这个列表中的所有字母都被翻译成别的东西,这取决于我“设置”了每个字母要翻译成什么。
我对如何做到这一点有点困惑,我可以有一个完整的 while 循环来执行以下操作:
获取第一个元素,然后运行整个字母表和数字 1-9。如果匹配任何内容,则将其添加到新列表中。
问题是,这样做似乎效率很低,我认为他们肯定是更好的方法,我将在下面发布我正在谈论的内容:
我无法让代码格式正常工作,我对此感到很沮丧。代码如下:
print("\t\t\tThe fun encryptor")
print("\n\n Please Enter the following string to be encrypted")
STRING = input("Entry: ")
STRINGCOPY = [STRING]
DIRECTORY = []
#The string is to be encyrypted.
STRINGLEN = len(STRING)
OPPLIMIT = 0
REPEAT = False
DIRECTORYT = []
while OPPLIMIT < STRINGLEN:
DIRECTORY = DIRECTORY + str.split(STRING[OPPLIMIT])
OPPLIMIT += 1
# String Added to the Directory necessary
if "a" in DIRECTORY[0]:
DIRECTORYT += [0.01]
elif "b" in DIRECTORY[0]:
DIRECTORYT += [0.11]
elif "c" in DIRECTORY:
DIRECTORYT += [1.11]
#and so on and so forth
a="0.01"
b="0.11"
c="1.11"
d="0.02"
e="0.22"
f="2.22"
g="0.03"
h="0.33"
i="3.33"
j="0.04"
k="0.44"
l="4.44"
m="0.05"
n="0.55"
o="5.55"
p="0.06"
q="0.66"
r="6.66"
s="0.07"
t="0.77"
u="7.77"
v="0.08"
w="0.88"
x="8.88"
y="0.09"
z="0.99"
如您所见,经历这一切似乎几乎毫无意义,有没有更简单的方法来做到这一点?
也许使用for函数的东西?
【问题讨论】:
-
呃,它不显示截图:这是链接:i1267.photobucket.com/albums/jj554/owatch/…
-
将代码发布为文本(例如 pastebin.com)比屏幕截图更有帮助。我们无法复制并粘贴屏幕截图并尝试自己运行。
-
@user1883304 您可以通过
DIRECTORY=list(STRING)将字符串转换为列表。 -
另外,你真的不应该给你的变量全大写这样的名字;它使阅读您的代码变得非常困难。有关详细信息,请参阅PEP 8。
-
@Mike:他的代码的哪一部分让你认为他需要
list的字符?
标签: python list compare matching