Apply the same shift to both lower and upper case letters


Please help with the following programming problem(using python 3)

A Ceasar cipher is based on simply shifting the letters in the alphabet by a fixed amount. For example we might do the following:

    Plain:     ABCDEFGHIJKLMNOPQRSTUVWXYZ
    Cipher:    DEFGHIJKLMNOPQRSTUVWXYZABC

So each 'A' in the message is replaced by a 'D', each 'M' by a 'P', and so on. That is, there is a shift of 3 letters. Note that the alphabet wraps around at the end: An 'X' (third from the end) is replaced by an 'A', etc.

 Design a function that takes two arguments, a string to encrypt and a shift value (an integer) to use for encrypting it, and returns the encrypted string. Apply the same shift to both lower and upper case letters. Do not alter the non-alphabetical characters (like space, comma etc).

Examples:

  • Encrypting "Et tu, Brutus!" with a shift of 3 should return "Hw wx, Euxwxv!".
  • (Wikipedia has a long list of Latin phrases if you want to encrypt more examples in Latin.)
  • Encrypting "IBM" with a shift of -1 should return "HAL".

To decrypt a string, you can call the same function with the negative of the shift that was used to encrypt it. Also note that the function is invariant of the shift modulo 26: that is, a shift of 29 is the same as a shift of 3 (3 == 29 % 26), and a shift of -1 is the same as a shift of 25 (25 == -1 % 26).

Solution Preview :

Prepared by a verified Expert
Business Management: Apply the same shift to both lower and upper case letters
Reference No:- TGS02759864

Now Priced at $20 (50% Discount)

Recommended (92%)

Rated (4.4/5)