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 :

Supprimer les \n d'un dictionnaire


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 13
    Par défaut Supprimer les \n d'un dictionnaire
    Hello à tous,

    Voilà je débute en python et je suis en train de créer un jeu de bataille navale pour le fun en console. Je suis en train d'enregistrer les coordonnées de la grille dans un dictionnaire sous forme de tuples (du style : grille[a, 1] = ".", grille[a, 2] = ".", etc)

    Le problème, c'est que lors de l'affichage de la grille, j'ai un retour à la ligne alors que j'aimerais bien mettre les points a1 à a10 côte à côte et seulement sauter une ligne quand je passe aux points b, puis c, etc.

    Dans l'idée, au lieu d'avoir ça :

    .
    .
    .
    .
    .
    .

    J'aimerais ça :

    ........
    ........
    ........

    etc.

    Du coup j'ai essayé replace et split mais j'ai cru comprendre que ce n'était pas utilisable sur un dictionnaire ? Et sinon j'ai pensé à faire des gros tuples genre [a, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    Le problème c'est que je ne pourrai pas modifier chaque élément de la grille pour placer un bateau et remplacer l'affichage de "." par un autre symbole, par exemple remplacer le point a3 par un cercle. (car si j'ai bien compris, les éléments d'un même tuple ne sont pas modifiables).

    Du coup voilà j'espère avoir donné assez de détails, l'idée pour résumer est donc d'enlever les \n lors de l'affichage des valeurs de mon dictionnaire. Merci !

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par Jacksons Voir le message
    Du coup voilà j'espère avoir donné assez de détails, l'idée pour résumer est donc d'enlever les \n lors de l'affichage des valeurs de mon dictionnaire. Merci !
    Si vous ne postez pas un minimum de code pour illustrer "techniquement" ce que vous racontez, pas facile de comprendre ce que vous racontez: la solution est peut être print(...., end=' ')Ce qui n'enlève rien mais supprime le passage à la ligne suivante (peut importe ce qu'il faut expédier à la console pour ce faire).

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

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 13
    Par défaut
    Bonjour,

    Merci pour ce retour. Voici le petit bout de code en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    def	generate_grille():
     
            grille = dict()
    	grille["a", 1] = "."
    	grille["a", 2] = "."
    	grille["a", 3] = "."
    	grille["a", 4] = "."
    	grille["a", 5] = "."
    	grille["a", 6] = "."
    	grille["a", 7] = "."
    	grille["a", 8] = "."
    	grille["a", 9] = "."
    	grille["a", 10] = "."
     
    	for elt in grille.values():
    		print(elt, end = '  ')
     
     
     
    generate_grille()
    os.system("pause")

    Je me penchais justement sur cette solution du print, ça a l'air de marcher le seul problème c'est que ça s'affiche uniquement lorsque j'appuie sur une touche pour quitter le programme, j'aperçois la ligne avec les points très brièvement pendant que le programme se quitte. Mais lorsque je le lance je n'ai absolument rien qui s'affiche.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 13
    Par défaut
    C'est bon le problème est résolu. J'ai créé un système de compteur qui toutes les 10 incrémentations fait un saut de ligne, couplé au print avec le end = ' ' ca marche parfaitement j'ai bien une grille de 10 x 10.

    Merci beaucoup !

    Voilà le code si un jour quelqu'un aurait le même problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    grille = generate_grille()
    a = 0
     
    for elt in grille.values():
    	print(elt, end=' ')
    	a+=1
    	if a == 10:
    		print(" ")
    		a = 0

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Jacksons Voir le message
    Voilà le code si un jour quelqu'un aurait le même problème :
    C'est pas avec le titre que vous lui avez donné qu'on va retrouver cette solution. Ceci dit c'est sans importance: supprimer les sauts à la ligne de print se retrouve assez facilement sur Internet ou dans la documentation (help (print)).

    Citation Envoyé par Jacksons Voir le message
    ca marche parfaitement j'ai bien une grille de 10 x 10.
    Sauf dans le cas où vous utiliseriez une version Python 3.6 (et avec de la chance) vous devriez constater assez vite que çà ne fonctionne pas aussi bien car les "dict" sont ce qu'ils sont.... Mais cela vous donnera l'occasion d'ouvrir une nouvelle discussion.

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment supprimer les doublons
    Par djelloulc dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 17/09/2013, 14h30
  2. Supprimer les \n / \t d'un dictionnaire
    Par RTK45 dans le forum Général Python
    Réponses: 16
    Dernier message: 18/02/2012, 08h24
  3. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  4. [Jsp] Supprimer les caractère spéciaux d'une chaine
    Par PeteMitchell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/05/2004, 11h11
  5. [String] Comment supprimer les accents
    Par iuz dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 08/03/2004, 02h58

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