Mathematica 54 41 Bytes
Com uma sugestão absolutamente inteligente do LegionMammal978 que salva 13 bytes.
If[#>0,FromLetterNumber,,LetterNumber]@#&
If[#>0,FromLetterNumber,,LetterNumber]
serve ao único propósito de decidir se deve aplicar FromLetterNumber
ou LetterNumber
à entrada.
#>0
ficará satisfeito se a entrada,, #
for um número, caso em que FromLetterNumber
será selecionado.
No entanto #>0
, não será verdadeiro nem falso, se #
for uma letra, e LetterNumber
será selecionado.
If[#>0,FromLetterNumber,,LetterNumber]@#&["d"]
4
If[#>0,FromLetterNumber,,LetterNumber]@#&[4]
d
Em Mathematica, FromLetterNumber
e LetterNumber
também irá trabalhar com outros alfabetos. Isso requer apenas mais alguns bytes.
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[4, "Greek"]
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[4, "Russian"]
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[4, "Romanian"]
δ
г
b
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[δ, "Greek"]
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[г, "Russian"]
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[b, "Romanian"]
4
4
4