Mathematica 54 41 bajtów
Z absolutnie sprytną sugestią LegionMammal978, która oszczędza 13 bajtów.
If[#>0,FromLetterNumber,,LetterNumber]@#&
If[#>0,FromLetterNumber,,LetterNumber]
służy wyłącznie do podjęcia decyzji, czy zastosować, FromLetterNumber
czy LetterNumber
do wkładu.
#>0
będzie spełniony, jeśli wejście,, #
jest liczbą, w którym to przypadku FromLetterNumber
zostanie wybrany.
Jednak #>0
nie będzie ani prawdą, ani fałszem, jeśli #
jest literą i LetterNumber
zostanie wybrana zamiast tego.
If[#>0,FromLetterNumber,,LetterNumber]@#&["d"]
4
If[#>0,FromLetterNumber,,LetterNumber]@#&[4]
re
W Mathematica, FromLetterNumber
a LetterNumber
także będzie działać z innymi alfabetami. Wymaga to tylko kilku dodatkowych bajtów.
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