我有一个输入,它是一个字符串元组,用 a1z26 密码编码:1 到 26 的数字表示字母,连字符表示相同的单词字母,空格表示单词之间的空格。例如:8-9 20-8-5-18-5 应该翻译成“你好”
假设最后一个示例是名为 string 的 var 中的元组
string = ('8-9','20-8-5-18-5')
我发现合乎逻辑的第一件事是使用
字符串 = 列表(字符串)
所以现在
string = ['8-9','20-8-5-18-5']
现在的问题是,当我遍历列表以将其与具有翻译值的字典进行比较时,两位数被视为一个数字,因此,例如,不是翻译“20”,而是先翻译“2”,然后再翻译“ 0',导致字符串说 'hi bheahe' (2 =b, 1 = a and 8 = h)
所以我需要一种方法将上面的列表转换为下面的列表
['8','-','9',' ','20','-','8','-','5','-','18','-','5',]
我已经尝试过使用各种代码
list()、join() 和 split()
但它最终给了我同样的问题。
总而言之,我需要将任何给定的列表(从输入元组转换而来)制作成一个字符列表,该列表完全考虑了两位数、空格和连字符
这是我到目前为止所得到的。(我最后写的)输入在代码(字符串)中更上一层
a1z26 = {'1':'A', '2':'B', '3':'C', '4':'D', '5':'E', '6':'F', '7':'G', '8':'H', '9':'I', '10':'J', '11':'K', '12':'L', '13':'M', '14':'N', '15':'O', '16':'P', '17':'Q', '18':'R', '19':'S', '20':'T', '21':'U', '22':'V', '23':'W', '24':'X', '25':'Y', '26':'Z', '-':'', ' ' : ' ', ', ' : ' '}
translation = ""
code = list(string)
numbersarray1 = code
numbersarray2 = ', '.join(numbersarray1)
for char in numbersarray2:
if char in a1z26:
translation += a1z26[char]
森栏
慕工程0101907
相关分类