使用 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 函式的使用並建立了一個字典來儲存映象字元。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP