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=' ')

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

LATEST TUTORIALS
APPROVED BY CLIENTS