【问题标题】:Replacing spaces by 0's in an array (Python)用 0 替换数组中的空格(Python)
【发布时间】:2013-12-10 14:07:24
【问题描述】:

晚上/早上

过去两天我一直在尝试制作一个执行山密码的程序。到目前为止,我只有一个问题,就是我找不到将空格替换为 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 和一般编程的菜鸟。 任何事情都会很棒,我宁愿解释如何去做,因为这是我的大学要做的事情,我很迷茫,可以使用一些指导。

干杯!

【问题讨论】:

    标签: python spaces zero


    【解决方案1】:

    因此,如果我正确理解这一点,则在列表理解中,如果字母是空格,则要使用值 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]
    

    【讨论】:

    • 哦,伙计,我从来没想过,我正在尝试在我正在做的 lettconv 数组之外执行 if 条件,难怪它从未显示任何内容。非常感谢!现在可以了:)
    猜你喜欢
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 2021-04-19
    • 2021-11-28
    • 2017-02-28
    • 2020-11-29
    • 1970-01-01
    • 2016-06-16
    相关资源
    最近更新 更多