2019年10月22日火曜日

[Python]文字列の各文字をアルファベット順の位置に変換する。

問題

文字列を入力として、それぞれの文字をアルファベット順の位置に変換せよ。

ただし、文字列内のアルファベット以外の文字は無視すること。

"a" = 1, "b" = 2, など。

alphabet_position("The sunset sets at twelve o' clock.") 
# => "20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11"

解答

def alphabet_position(text):
    return ' '.join(str(ord(c) - 96) for c in text.lower() if c.isalpha())