I'm trying to code a simple function where number strings are converted to the corresponding sentence. Each number represents a letter (1=A, 2=B...26=Z). Words in the sentence are separated by '+' and letters are separated by a space. For example, input num_to_letters('20 5 19 20+4 15 13 5') should return 'TEST DOME'.
import string
def num_to_letters(s):
'''Converts input number string to a sentence'''
alphabet = string.ascii_lowercase
alphabet=[i for i in alphabet]
dic = {i:j for i,j in enumerate(alphabet, 1)}
res = ''
for num in s:
if num in dic:
res+= dic[int(num)]
elif num == ' ':
res+= ''
elif num == '+':
res+= ' '
return res
num_to_letters('8 9+13 9 8 9 18')
However, I'm getting an empty string returned in the output. What is the issue here?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…