【发布时间】:2017-10-21 21:51:15
【问题描述】:
我正在尝试搜索 ascii 索引以编写一个范围为 >= 32 和
如果我没有正确发布此内容,我深表歉意。这是我的第一篇文章。
感谢您的帮助。
def cipher(phrase,shift):
x = list(str(phrase))
xx = ''.join(list(str(phrase)))
yy = []
print(x)
for c in xx:
yy.append(chr(ord(c)+shift))
return ''.join(yy)
print(cipher('ABCDE', 97 - 65))
print(cipher('abcde', 65 - 97))
print(cipher(' !\"#$', 95))
我的输出是:
['A', 'B', 'C', 'D', 'E']
abcde
['a', 'b', 'c', 'd', 'e']
ABCDE
[' ', '!', '"', '#', '$']
【问题讨论】:
-
分配
x和xx的行的目的是什么?我认为你不需要那些。你可以直接遍历phrase。 -
为什么最后一次打印的 shift 是 95?
-
当您运行
print(cipher(' !\"#$', 95))时,您将所有字符都移到 126 以上。那么您要达到什么目的? -
@Wyatt x 仅供我打印,以查看我正在寻找的打印输出的原件。 xx 是 .join 所以它不会像 abcde 而不是 ['a','b','c','d','e'] 那样打印出来。我基本上只是在开始时这样做,看看我是否能正确打印出来并且从未删除它们。
-
@gommb 我正在移动 95,因为这是作业的要求。他希望我们遍历密码中的 ascii 索引 32 - 126
标签: python indexing ascii indices caesar-cipher