Le défi est de analyser une chaîne comme Python et à imprimer le contenu de la chaîne.
- Entrée (argument de ligne de commande ou stdin) : un littéral de chaîne (par exemple
"hello"
) (ou plusieurs littéraux, voir la concaténation de littéral de chaîne ci-dessous) - Sortie (sortie standard) : le contenu de la chaîne (par exemple
hello
)
Règles d'analyse de la chaîne:
- Un littéral de chaîne est entouré de paires correspondantes de guillemets simples (
'a'
), de guillemets doubles ("a"
), de guillemets simples triples ('''a'''
) ou de guillemets doubles triples ("""a"""
). La première réapparition du type de guillemets qui a ouvert la chaîne termine la chaîne. - La barre oblique inverse s'échappe:
\'
dans une chaîne devient'
,\"
devient"
et\\
devient\
. Vous n'avez pas besoin d'implémenter d'autres échappements de barre oblique inverse. Une barre oblique inverse qui ne fait pas partie d'une séquence d'échappement reste une barre oblique inverse. - Concaténation de littéraux de chaîne: le contenu des littéraux de chaînes adjacents est concaténé. Par exemple,
"hello" 'world'
devienthelloworld
. - L'entrée peut contenir des espaces qui ne font partie d'aucun littéral.
- Vous n'avez pas besoin de prendre en charge tout autre type d'espace, ni à l'intérieur ni à l'extérieur des littéraux.
Règles supplémentaires:
eval
,exec
et des éléments similaires ne sont pas autorisés pour analyser le littéral ou des parties de celui-ci.- Vous pouvez supposer que l'entrée est valide.
- Vous pouvez supposer une longueur d'entrée maximale de 1023 caractères.
Exemples:
"hello" ' world'
->hello world
"""\"""'\\\A"""
->"""'\\A
( '''"""'''"""'''""" )
(sans parenthèses, mais avec des espaces) ->"""'''
Le code le plus court gagne.