# Encrypt the String according to the given algorithm in Python

• Difficulty Level : Basic
• Last Updated : 22 Sep, 2022

Given a string s, the task is to encrypt the string in the following way. Let the string be “apple”.

Step 1: Reverse the input: “elppa”

Step 2: Replace all vowels using the following chart:

```a => 0
e => 1
i => 2
o => 2
u => 3
Resultant string - "1lpp0"```

Step 3: Add “aca” to the end of the word:

`Resultant String: "1lpp0aca"`

Examples:

```Input: banana
Output: 0n0n0baca"

Input: karaca
Output: 0c0r0kaca"

Input: burak
Output: k0r3baca```

Approach:

1. Create a dictionary which stores values so that it can be easily accessed.
2. Reverse the string by indexing method.
3. Loop through the word to replace vowels.

Below is the implementation.

## Python3

 `# Create an input field``encrypt ``=` `"banana"` `# Create a dictionary to store keys``# and values``dict` `=` `{``"a"``: ``"0"``, ``"e"``: ``"1"``,``        ``"i"``: ``"2"``, ``"o"``: ``"2"``,``        ``"u"``: ``"3"``}` `# Reverse the string``num ``=` `encrypt[::``-``1``]` `# Replace vowels using loops``for` `i ``in` `dict``:``    ``num ``=` `num.replace(i, ``dict``[i])` `# f- strings which improves readability``print``(f``"{num}aca"``)`

Output

```0n0n0baca
```

Let’s understand the above code:

• For indexing, through a string, we have a provision of three arguments. The indexing is done with integers (not float values) and intended with close brackets.
• The first argument is for the starting point, the second argument is for jump though the sub-string and third argument is the endpoint.
• So in the above reverse-string method, we keep the first argument empty , so the indexing would begin from the first sub-string , the second argument is left empty so there would be not jumping through sub-strings and endpoint would be -1 which would result in the compiler to manipulate and reverse the given input.

Approach : Using index() method

## Python3

 `# Create an input field``encrypt ``=` `"banana"` `# Reverse the string``num ``=` `encrypt[::``-``1``]` `vow``=``"aeiou"``x``=``""``# Replace vowels using loops``for` `i ``in` `num:``    ``if``(i ``in` `vow):``        ``x``+``=``str``(vow.index(i))``    ``else``:``        ``x``+``=``i``print``(x``+``"aca"``)`

Output

`0n0n0baca`

My Personal Notes arrow_drop_up