Question:

Write a user-defined function in Python named Puzzle(W, N) which takes the argument W as an English word and N as an integer and returns the string where every Nth alphabet of the word W is replaced with an underscore ("_"). 

Example: If W contains the word "TELEVISION" and N is 3, then the function should return the string "TE_EV_SI_N". Likewise, for the word "TELEVISION" if N is 4, the function should return "TEL_VIS_ON".

Show Hint

Use (i + 1) \% N == 0} to easily identify every N}th element in a list or string when iterating with a zero-based index.
Updated On: Jan 21, 2025
Hide Solution
collegedunia
Verified By Collegedunia

Solution and Explanation

def Puzzle(W, N):  # Function definition
    result = ""  # Initialize an empty string to store the result
    for i in range(len(W)):  # Loop through each character in the word
        if (i + 1) % N == 0:  # Check if the (i+1)th character is the Nth
            result += "_"  # Replace the Nth character with an underscore
        else:
            result += W[i]  # Otherwise, keep the character as is
    return result  # Return the resulting string

# Example usage
W = "TELEVISION"
N = 3
print(Puzzle(W, N))  # Output: "TE_EV_SI_N"

N = 4
print(Puzzle(W, N))  # Output: "TEL_VIS_ON"
    
Explanation: The function Puzzle(W, N) iterates through each character of the input string W. Using the condition (i + 1) % N == 0, it checks whether the position of the character (1-based index) is a multiple of N. If true, the character is replaced with an underscore ("_"), otherwise, the original character is retained. The resulting string is built incrementally and returned as output.
Was this answer helpful?
0
0