我试图创建一个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