Question #197223

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 k l m n o p q r s t u v w x y z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26


Input

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".

  • Sample Input 1
python learning
  • Sample output:
16-25-20-8-15-14 12-5-1-18-14-9-14-7
  • sample input 2
python
  • sample output
16-25-20-8-15-14
  • sample input
Foundations
  • sample output
6-15-21-14-4-1-20-9-15-14-19

Expert's answer

alphabet = 'abcdefghijklmnopqrstuvwxyz'
cipher = dict()
for num, letter in enumerate(alphabet, 1):
    cipher[ord(letter)] = str(num) + '-'
S = input('Input string: ').lower().split()
for word in S:
    print(word.translate(cipher)[:-1], end=' ')
LATEST TUTORIALS
APPROVED BY CLIENTS