Les symboles contre les lettres
Les caractères ASCII ont été divisés une fois de plus ! Vos ensembles sont les lettres et les symboles .
Les lettres
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Les symboles
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
La tâche consiste à écrire deux programmes:
Imprimez chacune des lettres exactement une fois sans en utiliser aucune dans votre programme.
Imprimez chacun des symboles exactement une fois sans en utiliser aucun dans votre programme.
Règles
- Des espaces peuvent apparaître dans votre programme ou dans la sortie.
- Les caractères non ASCII ne sont pas autorisés.
- La sortie passe à la sortie standard ou à un fichier en tant que contenu ou nom du fichier.
- Pas d'entrée.
- La sortie ne doit contenir que des caractères ASCII d'un ensemble ou de l'autre.
- Les programmes peuvent être écrits dans différentes langues ou dans la même langue à une exception près:
- La langue des espaces blancs ne peut être utilisée que pour l'un des programmes.
- Des échappatoires standard s'appliquent.
Notation
# of characters in program 1
+# of characters in program 2
=Score
Le score le plus bas gagne!
Remarque:
Pour encourager plus de soumissions, vous pouvez toujours publier une réponse avec une solution pour un seul des programmes. Vous ne pourrez pas gagner, mais vous pourrez toujours montrer quelque chose de cool.
Merci à Calvin's Hobbies d' avoir inspiré l'idée avec sa question précédente .
code-golf
restricted-source
hmatt1
la source
la source
Réponses:
Total: 53 caractères
Total dans une seule langue: 230 caractères, Pyth
Partie 1: Golfscript, 15
Les sorties:
Explication:
Partie 2: Pyth , 38
Les sorties:
Explication:
Solution bonus:
Partie 1: Pyth, 192
Explication:
$"%\143"$
=> "% c".$
bascule vers et depuis le style d'analyse Python, et dans l'analyse de chaîne Python,\143
est la séquence d'échappement octale pourc
. Cette réponse est donc équivalente au code de style Python suivant:Bien sûr, cela ne fonctionne pas en Python, car l'impression en Python utilise
print
, mais l'impression en Pyth est implicite, donc cela fonctionne.Les solutions Pyth n'utilisent aucune des fonctionnalités ajoutées depuis la question posée.
la source
Python (symboles,
8782)J'adore le module de chaîne de Python ...
Éditer:
Production:
FAUX (lettres, 21)DUP (lettres, 20):FAUX solution:
DUP sollution (1 caractère plus court)
Sortie (pour les deux):
Interprète pour FAUX.
Total: 102
la source
from string import*
fonctionne aussi bien et réduit le nombre d'octets.*
est interdite dans ce contexte ...from string import punctuation, digits
plus. Belle solution qui respecte les règles. Désolé pour mon erreur!GolfScript (14 caractères) + Deadfish x (116 caractères) = 130 caractères
et
la source
Parties 1 et 2 en Ruby 2, 56 + 484 = 540
Partie 1:
Pour en savoir plus sur ce style de Ruby, consultez narfnme .
Partie 2 (ce bit est Ruby 2.0+ uniquement, fonctionne parfaitement avec ruby-2.1.0 mais peut donner des avertissements dans les versions antérieures):
Celui-là était dur. L'appel de méthodes Fixnum intégrées comme
chr
etsucc
nécessite l'ouverture de la classe Fixnum et la redéfinitioninspect
, car je peux déclencher un appel àx.inspect
avecp x
. J'ai besoin d'inspecter pour revenirnil
afin quep
ne s'affiche qu'une nouvelle ligne, toute chaîne sera encadrée de guillemets doubles. Mais comme effet secondaire, il boucle. Je peux terminer la première boucle et la deuxième boucle en utilisant une comparaison de chaînes pour voir quand j'ai atteint une plage de lettres, mais comme je ne peux pas écrire un littéral de chaîne, je dois en obtenir une en appelantString()
le symbole renvoyé (dans Ruby 2) par ledef
mot - clé. Étant donné que c'est une syntaxe multiligne et que je ne peux comparer les chaînes que viacase
, qui ne peut pas prendre d'expressions multilignes, j'ai besoin d'encapsuler le littéral dans une méthode (car je ne peux évidemment pas faire d'affectation). La dernière boucle est plus difficile à terminer. J'en ai besoin pour m'arrêter~
. Heureusement, parmi les caractères ascii de cette plage,~
c'est le seul qui peut être appelé sur un Fixnum sans arguments sans déclencher d'erreur, donc je peux utilisersend chr
pour détecter quand je suis à la fin et arrêter la boucle.Pas le meilleur score dans ce fil, mais jusqu'à présent le seul qui utilise le même langage pour les deux parties. Yay Ruby.
la source
Partie 2 dans Applescript, 654
attendez ... où sont les " conseils pour jouer au golf dans Applescript "?
Production:
la source
CJam + AlphaBeta , 62 octets
Lettres, CJam , 12 octets
Essayez-le en ligne!
Production
Comment ça fonctionne
Symboles, AlphaBeta , 50 octets
Essayez-le en ligne!
L'interpréteur C ++ officiel a un bogue qui rend les boucles impossibles et je ne peux pas comprendre comment utiliser l'interpréteur Lua. J'ai corrigé ce bogue. Vous pouvez vérifier qu'il fonctionne comme prévu en exécutant les exemples de programmes à partir de la page EsoLang.
Production
Comment ça fonctionne
la source
Partie 1 dans BrainFuck:
8074 octetsla source
>
raison d'une indentation de code manquante. C'est donc rendu comme une citation.Total 318 octets
J'espérais vraiment trouver une réponse avec les deux programmes dans la même langue, mais jusqu'à présent rien. Voici ceci à la place:
Partie 1: Pure bash, 129 octets
Production:
Partie 2: GNU dc, 189 octets
Production:
la source
Eh bien, vous savez, quelqu'un devrait commencer.
Partie 1 dans BrainFuck: 174 octets
la source
Partie 1: Ruby, 45 octets
Explication
?@...?[
) et une plage contenant AZ (?`...?{
) deviennent les éléments du tableau_
à l'aide de l'opérateur splat (*
)."@"
) et le 27ème élément ("`"
) du tableau_
sont définis surnil
._
est joint à l'aide deArray#*
et imprimé sur stdout ($>
)la source
*$_
sur la deuxième ligne parp
(ou[]
).