w3resource

Python: Find a string which, when each character is shifted (ASCII incremented) by shift

Python Programming Puzzles: Exercise-67 with Solution

Write a Python program to find a string which, when each character is shifted (ASCII incremented) by shift, gives the result.

ASCII table -

Input:
Ascii character table
Shift = 1
Output:
@rbhhbg`q`bsdqs`akd

Input:
Ascii character table
Shift = -1
Output:
Btdjj!dibsbdufs!ubcmf

Sample Solution-1:

Python Code:

# License: https://bit.ly/3oLErEI

def test(strs, shift):
    # Joining characters after shifting them by the specified amount
    return "".join(chr(ord(c) - shift) for c in strs)

# Example 1
strs1 = "Ascii character table"
print("Original string:")
print(strs1)
shift1 = 1
print('Shift =', shift1)
print("A new string which, when each character is shifted (ASCII incremented) by shift in the said string:")
print(test(strs1, shift1))

# Example 2
strs2 = "Ascii character table"
print("\nOriginal string:")
print(strs2)
shift2 = -1
print('Shift =', shift2)
print("A new string which, when each character is shifted (ASCII incremented) by shift in the said string:")
print(test(strs2, shift2))

Sample Output:

Original string:
Ascii character table
Shift = 1
A new string which, when each character is shifted (ASCII incremented) by shift in the said string:
@rbhhbg`q`bsdqs`akd

Original string:
Ascii character table
Shift = -1
A new string which, when each character is shifted (ASCII incremented) by shift in the said string:
Btdjj!dibsbdufs!ubcmf

Flowchart:

Flowchart: Python - Find a string which, when each character is shifted (ASCII incremented) by shift.

Sample Solution-2:

Python Code:

# License: https://bit.ly/3oLErEI

def test(strs, shift):
    # Using list comprehension to generate a list of characters after shifting
    shifted_chars = [chr(ord(strs[i]) - shift) for i in range(len(strs))]
    # Joining the characters to form the final shifted string
    return "".join(shifted_chars)

# Example 1
strs1 = "Ascii character table"
print("Original string:")
print(strs1)
shift1 = 1
print('Shift =', shift1)
print("A new string which, when each character is shifted (ASCII decremented) by shift in the said string:")
print(test(strs1, shift1))

# Example 2
strs2 = "Ascii character table"
print("\nOriginal string:")
print(strs2)
shift2 = -1
print('Shift =', shift2)
print("A new string which, when each character is shifted (ASCII decremented) by shift in the said string:")
print(test(strs2, shift2))

Sample Output:

Original string:
Ascii character table
Shift = 1
A new string which, when each character is shifted (ASCII incremented) by shift in the said string:
@rbhhbg`q`bsdqs`akd

Original string:
Ascii character table
Shift = -1
A new string which, when each character is shifted (ASCII incremented) by shift in the said string:
Btdjj!dibsbdufs!ubcmf

Flowchart:

Flowchart: Python - Find a string which, when each character is shifted (ASCII incremented) by shift.

Python Code Editor :

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Find the indices of the closest pair from given a list of numbers.
Next: Find all 5's in integers less than n that are divisible by 9 or 15.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/python-exercises/puzzles/python-programming-puzzles-67.php