晚间/上午
过去两天我一直试图制作一个山地密码的程序。到目前为止我只有问题,而且我找不到将空格替换为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 :(得分:2)
因此,如果我正确理解了这一点,那么在列表推导中,如果字母是空格,则要使用值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]