What Does the Cow Say?

What Does the Cow Say?

Simple
EN Français RU

Let cow say! - Les vaches parlent !

Votre vache est jeune et ne peut utiliser que le vocabulaire que vous lui avez appris. Non seulement votre vache parle, mais elle présente ses paroles au fameux format Tux ( wiki/Cowsay ) si on le lui demande gentiment.

Un texte vous est donné, et votre fonction doit mettre le discours de votre vache au format "cowsay" ("parole de vaches"). Décrivons les règles de cette mise en forme :
  • La vache est toujours la même, seule sa citation change.
  • Des espaces multiples dans une ligne sont remplacés par un seul.
  • La bordure supérieure est constituée de caractères "_" (souligné - "underscore"). Elle commence avec un seul espace et se termine avant la colonne de bordure.
  • Chaque ligne de la citation est constituée des parties suivantes : bordure de citation(1), espace(1), ligne(1-39), espace(1), bordure de citation(1).
  • Si le texte fait moins de 40 caractères, il tient dans une seule chaîne de caractères (string). Cette chaîne est entourée par <> .
  • Si le texte fait 40 caractères ou plus, il faut le scinder selon les règles suivantes:
    • La taille maximale d'un ligne est 39 caractères. ...
    • Bordures des lignes du milieu: ||
    • Bordures de la dernière ligne: \/
  • La bordure inférieure est constituée de signes moins "-". Elle a la même longueur que la bordure supérieure.
  • Le programme pour la console "cowsay" a un comportement étrange dans certains cas spéciaux, qui ne seront pas testés ici.
  •      _________________________________
        / Dog goes woof                   \
        | Cat goes meow                   |
        | Bird goes tweet                 |
        | And mouse goes squeek           |
        | Cow goes moo                    |
        | Duck goes quack                 |
        \ And the solution will go to you /
         ---------------------------------
                \   ^__^
                 \  (oo)\_______
                    (__)\       )\/\
                        ||----w |
                        ||     ||
        
    What does the cow say? (Que dit la vache ?)

    Input: Un texte (string).

    Output: Le résultat tel qu'il apparaît dans la console.

    Conseil: Lire la documentation Python ( 2.7 , 3.3 ) à propos des style de formatage (str.format and %). Bien remarquer le r avant la chaîne de caractères. C'est un "raw string" et l'interprétation des séquences d'échappement est spécifique.

    Exemple:

    cowsay('Checkio rulezz') == r'''
     ________________
    < Checkio rulezz >
     ----------------
            \   ^__^
             \  (oo)\_______
                (__)\       )\/\
                    ||----w |
                    ||     ||
    '''
    cowsay('A longtextwithonlyonespacetofittwolines.') == r'''
     ________________________________________
    / A                                      \
    \ longtextwithonlyonespacetofittwolines. /
     ----------------------------------------
            \   ^__^
             \  (oo)\_______
                (__)\       )\/\
                    ||----w |
                    ||     ||
    '''
    
    cowsay('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.') == r'''
     _________________________________________
    / Lorem ipsum dolor sit amet, consectetur \
    | adipisicing elit, sed do eiusmod tempor |
    | incididunt ut labore et dolore magna    |
    \ aliqua.                                 /
     -----------------------------------------
            \   ^__^
             \  (oo)\_______
                (__)\       )\/\
                    ||----w |
                    ||     ||
    '''
    
        

    Application: Les "Cowsays" d'origine sont écrits dans le langage de programmation Perl, et sont donc facilement adaptables aux tâches système sous Unix. Ils peuvent servir à avertir les utilisateurs que leur répertoire est plein, qu'ils ont reçu un mail, etc... Vous allez à présent pouvoir transmettre vos propres messages dans cette présentation (classique sous unix)! Cette mission vous apprend à préparer et formater du texte pour une console d'affichage.

    Préconditions: 0 < len(text) < 858;
    text ne contient pas uniquement des espaces;
    text ne contient que des lettres ASCII, des chiffres et caractères de ponctuation.

    You should be an authorized user in order to see the full description and start solving this mission.
    Settings
    Code:
    Other:
    Invalid hot key. Each hot key should be unique and valid
    Hot keys:
    CheckiO Extensions

    CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.

    In order to install CheckiO client you'll need installed Python (version at least 3.8)

    Install CheckiO Client first:

    pip3 install checkio_client

    Configure your tool

    checkio --domain=py config --key=

    Sync solutions into your local folder

    checkio sync

    (in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)

    checkio serv -d

    Alternatevly, you can install Chrome extension or FF addon

    checkio install-plugin
    checkio install-plugin --ff
    checkio install-plugin --chromium

    Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.

    Pair Programming (Beta-version)

    Welcome to Pair Programming! Engage in real-time collaboration on coding projects by starting a session and sharing the provided unique URL with friends or colleagues. This feature is perfect for joint project development, debugging, or learning new skills together. Simply click 'Start Session' to begin your collaborative coding journey!

    Waiting for Pair Programming to start...

    You are trying to join a pair programming session that has not started yet.

    Please wait for the session creator to join.

    Waiting for Pair Programming to reconnect...

    It looks like the creator of the pair programming session closed the editor window.

    It might happen accidentally, so that you can wait for reconnection.

    ×
     
     
    << <
    > >>
    exec show

    Whats Next?

    Free accounts will see Best CheckiO solutions with some delay.
    Best Solutions will be opened in a moment
    Become Awesome and Don't wait
    The next stage is ""
    Will be activated in
    View More Solutions Random Review Solutions Go to the next mission