我試圖創建一個Python函數,它接收一個字母(一個字符串只有一個字母字符)並返回基於0的數字位置字母表中的那個字母。它不應該區分大小寫,我不能使用導入。Python函數接收字母,返回(基於0)字母表中的數字位置
所以在進入 「一」 應該返回
0
輸入 「A」,也應該返回
0
輸入 「O」 應該返回
14
等。
我已經注意到this question,但最好的答案使用導入,第二個答案對我來說沒有任何意義/不起作用。我嘗試應用第二個答案是這樣的:
letter = input("enter a letter")
def alphabet_position(letter):
return ord(letter) - 97
print((alphabet_position)(letter))
但我得到一個類型錯誤:
TypeError: ord() expected a character, but string of length 2 found
就像在說我掛問題的提問者,我也想送個字符「x」的字母數量返回,但爲了做到這一點,我需要先創建這個幫助函數。
我在想,必須有一種方法來將信件存儲在兩個單獨的列表中,一個是小寫字母和一個大寫字母,然後查看用戶輸入的字符串是否與該列表中的某個項目匹配?那麼一旦我們找到了匹配,我們就返回它的(基於0的)數字位置?
letter = input("enter a letter")
def alphabet_position(letter):
position = 0
#letter_position = index value that matches input
lower_case_list ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
'y', 'z']
upper_case_list ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
'Y','Z']
#if letter is in lower_case_list, return it's 0-based numerical position.
#else, if letter is in upper_case_list, return it's 0-based numerical position.
#else, print("Enter a valid letter")
return letter_position
如果您有任何建議,請幫忙。謝謝。
編輯添加用戶輸入 – wes1099
是的這就是我要去的。不知道你可以在這樣的變量中創建一個字典 - 酷!謝謝! – HappyHands31