2013-11-25 53 views
2

晚上/早上用數組替換0的空格(Python)

我過去兩天試圖製作一個小山密碼的程序。到目前爲止,我只有唯一的問題,並且我找不到將空格替換爲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和編程一般一個小白。 任何事情都會很棒,我寧願解釋如何做到這一點,因爲它是爲我的單身而做的事情,我很迷茫,可以使用一些指導。

乾杯!

回答

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] 
+0

哦,我從來沒有想過這個問題,正在努力做的,如果條件outsite的我正在做的lettconv陣列,難怪它從來沒有顯示任何東西。非常感謝!它現在的作品:) – Koonetz

+0

@Koonetz不要忘記接受答案:) – flornquake