Question #195918

Secret Message - 2
Given a string, write a program to print a secret message that replaces characters with numbers 'a' with 1, 'b' with 2, ..., 'z' with 26 where characters are separated by '-'.

Note: You need to replace both uppercase and lowercase characters. You can ignore replacing all characters that are not letters.


a	b	c	d	e	f	g	h	i	j
1	2	3	4	5	6	7	8	9	10


k	l	m	n	o	p	q	r
11	12	13	14	15	16	17	18


s	t	u	v	w	x	y	z
19	20	21	22	23	24	25	26
Input

The input will be a string in the single line containing spaces and letters (both uppercase and lowercase).
Output

The output should be a single line containing the secret message. All characters in the output should be in lower case.
Explanation

For example, if the given input is "python", "p" should replaced with "16", similarly"y" with "25","t" with "20","h" with "8","o" with "15","n" with "14". So the output should be "16-25-20-8-15-14".

Expert's answer

def EncodeChar(ch):
    if ch.isalpha():
        return str(ord(ch.lower()) - ord('a') + 1)
    else:
        return ch

def EncodeString(source):
    result = ''
    for ch in source:
        result += EncodeChar(ch) + '-'
    return result[:-1]

print(EncodeString(input()))
LATEST TUTORIALS
APPROVED BY CLIENTS