Mathematica 54 41 byte
Con un suggerimento assolutamente intelligente di LegionMammal978 che consente di risparmiare 13 byte.
If[#>0,FromLetterNumber,,LetterNumber]@#&
If[#>0,FromLetterNumber,,LetterNumber]
serve al solo scopo di decidere se applicare FromLetterNumber
o LetterNumber
all'input.
#>0
sarà soddisfatto se l'ingresso,, #
è un numero, nel qual caso FromLetterNumber
verrà selezionato.
Tuttavia #>0
non sarà né vero né falso se #
è una lettera e LetterNumber
verrà selezionato invece.
If[#>0,FromLetterNumber,,LetterNumber]@#&["d"]
4
If[#>0,FromLetterNumber,,LetterNumber]@#&[4]
d
In Mathematica, FromLetterNumber
e LetterNumber
funzionerà anche con altri alfabeti. Ciò richiede solo qualche byte in più.
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