【发布时间】:2012-11-21 19:43:14
【问题描述】:
Winkleson 在这里提出了另一个关于http://singpath.appspot.com 问题集的问题。我是一名初学者程序员,我希望尽可能得到一些指导。无论如何,我在这里提出了这个问题,我不确定如何通过比较 EVERY.SINGLE.LETTER 来避免浪费时间。在 if 语句中。所以我希望有任何提示/解决方案来减少这个问题的编码。我会发布我到目前为止所拥有的(不多)。提前致谢!
问题:
替代加密
创建一个可以用来加密的程序 并解密一串字母。该函数应输入一个 要编码的字符串和一串给出新顺序的字母 字母。第二个字符串包含字母表的所有字符 但以新的顺序。这个顺序告诉交换哪些字母。首先 第二个字符串中的字母应替换第一个字符串中的所有 a 细绳。第二个字符串的第三个字母应该替换所有 c 在第一个字符串中。您的解决方案应该全部小写。是 注意标点符号和数字(这些不应该改变)。
示例(调用):
>>> encrypt('hello banana','qwertyuiopasdfghjklzxcvbnm')
'itssg wqfqfq'
>>> encrypt('itssg wqfqfq','kxvmcnophqrszyijadlegwbuft')
'hello banana'
>>> encrypt('gftw xohk xzaaog vk xrzxnkh','nxqlzhtdvfepmkoywrjiubscga')
'this code cannot be cracked'
>>> encrypt('mkhzbc id hzw pwdh vtcgxtgw ube fbicg ozth kbx tew fbicg','monsrdgticyxpzwbqvjafleukh')
'python is the best language for doing what you are doing'
我的代码:
def encrypt(s, realph):
alph = 'abcdefghijklmnopqrstuvwxyz' #Regular Alphabet
news = '' #The decoded string
#All comparison(s) between realph and alph
for i in range(len(realalph)):
#Comparison Statement here too.
news = ''.join(alph)
return news
如您所见,这显然等同于失败的伪代码......一如既往,任何建议和/或解决方案都会令人惊叹!提前致谢! - 温克尔森
【问题讨论】:
-
只是一个提示,如果你不知道的话。如果您愿意,您不需要自己输入正确的有序字母,您可以先输入
import string,然后再输入alph = string.lowercase -
@NiclasNilsson 比像小丑一样大声背诵字母要好 XD 但是命令不是 alph = string.ascii_lowercase 吗?我忘了这一切:P 感谢您的提示/提醒!
-
两者都有效。取决于您是否希望它具有区域设置意识。 ascii_lowercase 永远不会改变,因此可能更适合此目的。
-
@NiclasNilsson 好的,那是我不知道的事情:P 感谢分享!
标签: python encryption python-3.x