傍晚/早晨

在过去的两天里,我一直在尝试制作一个执行山峰加密的程序。到目前为止,我只有一个问题,那就是我找不到将空格替换为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]

09-16 01:05