大小写字母的操作

'''
编写一个方法,以一个连续的(递增的)字母数组作为输入,并返回数组中丢失的字母。
你总是会得到一个有效的数组。总是少一个字母。数组的长度总是至少为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"]))

 

posted @ 2020-03-31 14:29  pple  阅读(183)  评论(0编辑  收藏  举报
以终为始,你期待的那天不会太遥远。