IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Bloqué par une chaine de caractere


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par défaut Bloqué par une chaine de caractere
    Bonjour a tous je débute sur Python et afin de m'entrainer je me suis mis en tête de codé un petit "crypteur de texte" qui transforme le texte de l'utilisateur en valeur numérique grâce a une clé aléatoire.
    Pour faire cela j'ai d'abord crée la fonction qui définie la valeur de chaque lettre de l’alphabet. Et l'idée était de récupéré la chaine de caractère saisie par l'utilisateur. Exemple:Hello , de crée une nouvelle chaine a partir de la première en ajoutant un symbole ":" entre chaque lettre et a la place des espaces. Exemple: H:e:l:l:o: Pour ensuite transformé ma chaine en liste que je séparerai en lettre grâce a split() en utilisant le symbole comme séparateur.

    Mon problème étant que je ne trouve pas de technique pour inséré les symbole "automatiquement" entre les lettres. Je pensais utilisé replace() pour les espaces. Après pas mal de recherche je me tourne vers vous, je suis très limité en anglais donc j'ai peut être raté la solution mais je commence a me dire que ma "Technique" n'est pas la bonne. En résumé j'aimerai si possible que vous m'expliquiez comment inséré les symbole entre chaque lettre et si c'est impossible une petite piste de comment arrivé d'un chaine de caractère type ("hello") a une liste ['h', 'e', 'l','l','o']

    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2007
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 574
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>> list("hello")
    ['h', 'e', 'l', 'l', 'o']
    >>> ":".join("hello")
    'h:e:l:l:o'
    Bon courage

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 5
    Par défaut
    Merci c'est tellement simple je me demande comment j'ai pu passer a coter.

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 067
    Par défaut
    Sinon pour répondre strictement à la question
    'hello'.replace('',':')

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 696
    Par défaut
    Citation Envoyé par josmiley Voir le message
    Sinon pour répondre strictement à la question
    'hello'.replace('',':')
    çà donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> 'hello'.replace('',':')
    ':h:e:l:l:o:'
    >>>
    et des ':' au début et à la fin, c'est un peu plus qu'entre les lettres.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 988
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 988
    Par défaut
    entre chaque lettre et a la place des espaces
    Dans ce cas, si on prend le terme "espace" au sens strict:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> s='avec Boris, c\'est soirée Disco'
    >>> ':'.join(list(s.replace(' ', '')))
    "a:v:e:c:B:o:r:i:s:,:c:':e:s:t:s:o:i:r:é:e:D:i:s:c:o"
    Sinon avec "espace" au sens plus large de suite de caractères blancs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import re
    >>> s='avec Boris,       c\'est soirée Disco  '
    >>> re.sub(r'(?!$)\s*(?!^)', ':', s)
    "a:v:e:c:B:o:r:i:s:,:c:':e:s:t:s:o:i:r:é:e:D:i:s:c:o:"
    (Les tests avant ne sont là que pour prendre en compte les éventuels espaces au début ou à la fin, sans pour autant ajouter les deux points quand il n'y en a pas.)

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/12/2011, 23h33
  2. selection cellule par rapport a une chaine de caractere
    Par fullmetalknet dans le forum Conception
    Réponses: 30
    Dernier message: 06/11/2009, 09h30
  3. remplacement d'un caractere par une chaine
    Par kayenne77 dans le forum Langage
    Réponses: 3
    Dernier message: 06/07/2009, 05h13
  4. Réponses: 2
    Dernier message: 12/03/2008, 13h44
  5. Réponses: 1
    Dernier message: 08/09/2007, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo