'''
编写一个方法,以一个连续的(递增的)字母数组作为输入,并返回数组中丢失的字母。
你总是会得到一个有效的数组。总是少一个字母。数组的长度总是至少为2。
数组将始终只在一种情况下包含字母。
例子:
[a, b, c, d ', ' f '] - >“e”(“O”,‘问’,‘R’, ' S '] - >“P”
(“a”、“b”、“c”,“d”,“f”- >“e”
(“O”、“问”、“R”、“S”- >“P”
(使用26个字母的英文字母!)
'''
#方法1
'''
知识点:string.ascii_uppercase # 获取26个大写字母
string.ascii_lowercase # 获取26个小写字母
string.ascii_letters # 获取26个小写字母和26个大写字母
'''
import string
def find_missing_letter(chars):
str_all=string.ascii_letters
chars_s=str_all.index(chars[0])
chars_e=str_all.index(chars[-1])
return ''.join(list(set(str_all[chars_s:chars_e+1])-set(chars)))
print(find_missing_letter(['O','Q','R','S']))
#方法2
'''知识点:
ord('a') 输出97:ord()返回字符串的ascii
chr(97) 输出a:chr()返回ascii对应的字符串
'''
def find_missing_letter2(chars):
for i in range(1,len(chars)):
if ord(chars[i])-ord(chars[i-1]) !=1:
return chr(ord(chars[i-1])+1)
print(find_missing_letter2(["a","b","c","d","f"]))