introduction
Une page de codes mappe des valeurs entières à un caractère spécifique. Nous pouvons visualiser une page de codes comme celle-ci:
+ --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- + | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- + | 0 | q | w | e | r | t | z | u | je | o | p | a | s | d | f | g | j | + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- + | 1 | k | l | y | x | c | v | b | n | m | Q | W | E | R | T | Z | U | + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- + | 2 | Je | O | P | A | S | D | F | G | H | J | | | | | | | + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + --- + - - + --- + --- + --- + --- +
Les lignes spécifient le premier chiffre et les colonnes le deuxième chiffre du nombre hexadécimal.
Le défi
Étant donné une chaîne de 16 à 255 caractères uniques, affichez la page de codes correspondante en utilisant l'index de base zéro de chaque caractère de la chaîne comme valeur. L'entrée qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJ
par exemple donnerait le tableau ci-dessus.
- La sortie doit être exactement au même format que le tableau ci-dessus. Seule une nouvelle ligne de fin est facultative.
- Si la longueur d'entrée n'est pas un multiple de 16, vous devez commencer une nouvelle ligne pour les caractères restants et laisser les cellules inutilisées vides (= remplies de 3 espaces).
- Chaque personnage est placé exactement au milieu d'une cellule, complété par un espace à gauche et à droite.
- Les valeurs de la première ligne et colonne sont données par des nombres hexadécimaux avec les chiffres
0123456789ABCDEF
. Ceux-ci sont également rembourrés avec un espace à gauche et à droite. Vous pouvez choisir d'utiliser des chiffres hexadécimaux en minuscules, mais vous devez vous en tenir à un. - Les seuls caractères présents dans la sortie sont les tirets
-
, les plus+
, les tuyaux|
, les espaces, les chiffres des nombres hexadécimaux et les caractères de l'entrée.
- Toute intégration liée à des tables ASCII ou banalisant le problème de quelque manière que ce soit est interdite.
- Vous pouvez supposer que l'entrée se compose uniquement de caractères d'un codage spécifique. Veuillez préciser si tel est le cas.
- Si votre langue ne peut gérer que la saisie ASCII, vous pouvez supposer une saisie ASCII uniquement et des caractères répétés.
Règles
- Fonction ou programme complet autorisé.
- Règles par défaut pour les entrées / sorties.
- Des échappatoires standard s'appliquent.
- Il s'agit de code-golf , donc le nombre d'octets le plus bas l'emporte. Tiebreaker est une soumission antérieure.
Codage heureux!
Réponses:
Pyth, 60 octets
La nouvelle ligne leader est significative.
Essayez-le ici.
la source
+---+---+---[...]
. En Pyth, la fonction newline imprime et renvoie son argument.Python 3.5,
326355 octets:( +29 octets car si la longueur de la dernière ligne n'est pas un multiple de 16, les cellules inutilisées doivent être laissées vides (bien que, à mon avis, cela semble beaucoup mieux si ces cellules vides ne sont même pas affichées) )
Fonctionne comme un charme!
Exemples d'entrées et de sorties:
J'espère que ça va.
En outre, voici une autre version que je crée pour ce défi, qui, bien est un candidat invalide car il ne pas imprimer des cellules vides supplémentaires pour la dernière ligne si sa longueur est pas un multiple de 16, à mon avis , les résultats d' une page beaucoup mieux à la recherche que celle requise par OP, principalement parce qu'elle n'affiche même pas les cellules vides si la dernière ligne n'est pas un multiple de 16, mais affiche simplement les cellules remplies, et c'est tout:
Voici un exemple d'entrée et de sortie pour le code inapplicable ci-dessus:
la source
05AB1E ,
6563 octetsCode:
Essayez-le en ligne! . Utilise l' encodage CP-1252 .
la source
JavaScript (ES6), 148 octets
Il
' 0123456789ABCDEF'
existe pour remplir la première colonne, mais couvre également la première ligne. La chaîne d'entrée est ensuite complétée par des espaces pour lui permettre d'être divisée en sous-chaînes de longueur 16, ce qui(?|^)
empêche la correspondance de l'espace de tête. Le reste ne fait que joindre les morceaux.la source
Excel VBA, 157 octets (tricherie?)
Fonction de fenêtre immédiate VBE anonyme qui prend de manière destructive les entrées de la plage
[A1]
et les sorties vers l'ActiveSheet
objet.Golfé
Formaté
Entrée sortie
Donné:
la sortie générée est
la source