傍晚/早晨
在过去的两天里,我一直在尝试制作一个执行山峰加密的程序。到目前为止,我只有一个问题,那就是我找不到将空格替换为0的方法。我尝试过在可能(或在我的情况下不起作用)的不同条件下工作,或者屏幕上未显示任何内容,或空间-96的ascii值。这是我到目前为止所得到的:
import math
import sys
import string
import numpy as np
from numpy import matrix
msg = sys.argv[1]
key1 = sys.argv[2]
key2 = sys.argv[3]
key3 = sus.argv[4]
key4 = sys.argv[5]
base = sys.argv[6]
key_matrix = np.matrix([[int(key1), int(key3)], [int(key2), int(key4)]])
lettconv = [ord(lett) - 96 for lett in msg]
代码可能有点讨厌,对此感到抱歉,我仍然是python和一般编程人员的菜鸟。
一切都会很棒,我宁愿对如何执行进行解释,因为这是我的大学要做的事情,我很迷茫,可以使用一些指导。
干杯!
最佳答案
因此,如果我正确理解这一点,则在列表理解中,如果字母是空格,则要使用值0
,否则要使用ord(lett) - 96
。您可以使用conditional expression表示此逻辑,如下所示:
0 if lett == ' ' else ord(lett) - 96
将此理解为:
lettconv = [0 if lett == ' ' else ord(lett) - 96 for lett in msg]