Mathematica 54 41 Bytes
Con una sugerencia absolutamente inteligente de LegionMammal978 que ahorra 13 bytes.
If[#>0,FromLetterNumber,,LetterNumber]@#&
If[#>0,FromLetterNumber,,LetterNumber]
tiene el único propósito de decidir si se aplica FromLetterNumber
o no LetterNumber
a la entrada.
#>0
se satisfará si la entrada,, #
es un número, en cuyo caso FromLetterNumber
se seleccionará.
Sin embargo #>0
, no será verdadero ni falso si #
es una letra, y LetterNumber
se seleccionará en su lugar.
If[#>0,FromLetterNumber,,LetterNumber]@#&["d"]
4 4
If[#>0,FromLetterNumber,,LetterNumber]@#&[4]
re
En Mathematica, FromLetterNumber
y LetterNumber
también funcionará con otros alfabetos. Esto requiere solo unos pocos bytes más.
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