使用 Python 查詢字串的映象影像


在給定的問題陳述中,我們需要藉助 Python 程式碼找到給定字串的映象影像。

理解問題

手頭的問題是找到給定字串的映象影像。映象影像是給定字串的更改版本,其中每個字元都被替換為該字元的映象影像。或者我們可以說它是字串的反射。在現實生活中,我們在鏡子裡看到自己,所以我們的右側在鏡子的左側可見,類似地,右側在左側顯示。

輸入-輸出場景

以下是給定字串的映象影像的輸入和輸出示例:

Input string = TUTOR
Output string: ROTUT

上述問題的邏輯

為了解決這個問題,我們首先將使用 Python 的 reversed 函式反轉給定的字串。然後,我們將用相應字元的映象影像替換每個字元。

演算法

  • 步驟 1 - 定義名為 get_mirror_image 的函式。並傳遞一個名為 str 的引數。

  • 步驟 2 - 將映象字元字典定義為 mirror_chars,這將包含所有映象字元作為字典。

  • 步驟 3 - 迭代反轉後的字串,並使用上述字典中對應的映象影像替換字元。

  • 步驟 4 - 使用 reversed 函式反轉輸入字串。並將映象字串儲存在 mirror_string 變數中。

  • 步驟 5 - 現在獲取使用者的輸入並列印原始字串和映象字串。

示例

def get_mirror_image(str):
   mirror_chars = {
      'A': 'A', 'B': 'B', 'C': 'C', 'D': 'D', 'E': 'E', 'F': 'F', 'G': 'G', 'H': 'H', 'I': 'I', 'J': 'J', 'K': 'K', 'L': 'L', 'M': 'M', 'N': 'N', 'O': 'O', 'P': 'P', 'Q': 'Q', 'R' : 'R', 'S': 'S', 'T': 'T', 'U': 'U', 'V': 'V', 'W': 'W', 'X': 'X', 'Y': 'Y', 'Z': 'Z', ' ': ' ', 'a': 'a', 'b': '', 'c':'c', 'd':'d', 'e':'e', 'f':'f', 'g':'g', 'h':'h', 'i':'i', 'j':'j', 'k':'k', 'l':'l', 'm':'m', 'n':'n', 'o':'o', 'p':'p', 'q':'q', 'r':'r', 's':'s', 't':'t', 'u':'u', 'v':'v', 'w':'w', 'x':'x', 'y':'y', 'z':'z'
   }

   # Reverse and replace characters with their mirror characters
   mirror_string = ''.join(mirror_chars.get(char, '') for char in reversed(str))

   return mirror_string

# Testing the function
original_string = input("Enter a String: ")
mirror_string = get_mirror_image(original_string)

print("Your String is: ", original_string)
print("Mirror image of your string: ", mirror_string)

輸出

Enter a String: Tutorialspoint 
Your String is:  Tutorialspoint 
Mirror image of your string:   tniopslairotuT

複雜度

在程式碼中,我們使用了字典來儲存所有映象字元。並獲取了使用者的字串輸入。因此,根據輸入,假設其大小為 n,則時間複雜度為 O(n)。因為我們使用了 reversed 函式來反轉給定的字串,並且它正在迭代字串 O(n) 次。並且在定義的字典中檢查映象字元需要 O(1) 的時間,即常數時間。所以總體複雜度為 O(n)。

結論

程式碼已成功找到給定字串的映象影像。正如我們學習了 Python reversed 函式的使用並建立了一個字典來儲存映象字元。

更新於:2023 年 10 月 16 日

348 次檢視

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告

© . All rights reserved.