python programmer un code de censure avec Python

Salut les gars !

J'ai vu que certains se sont bien amusés avec PHP pour censurer un texte, comme je suis en plein apprentissage de Python (enfin je m'amuse un peu) j'ai voulu créer un petit code qui permet de faire la même chose.

Alors c'est à peu près la même syntaxe : str.replace mais la valeur str (string) est à remplacer par la valeur à censurer.
Python
text = "je n'aime pas le chocolat"
res = text.replace ("chocolat", "********")

print(res)
Ce qui renvoie je n'aime pas le ********

Vous voyez c'est assez simple comme syntaxe,
Mais je bloque sur l'utilisation des tableaux, la syntaxe est facile words = ["vanille", "chocolat", "pistache"]
Mais je n'arrive pas à coder la même fonction avec ce tableau
Python
words = ["vanille", "chocolat", "pistache"]
res = words.replace ("o", "*")

print(res)
Ceci renvoie
Traceback (most recent call last):
File "./prog.py", line 2, in <module>
AttributeError: 'list' object has no attribute 'replace'

Merci pour votre aide.
 

yule

Membre
Hello,

Avec une boucle ca passe. Après et je crois que la notion des "tableaux" en python sont plutôt des listes (enfin d'après ce que j'ai lu et compriso_O)

Python
words = ['vanille', 'chocolat', 'pistache']
res = [i.replace('o', '*') for i in words]
print(res)

va afficher ['vanille', 'ch*c*lat', 'pistache']

Je sais pas si c'est ce que tu cherches mais vu mon niveau en python... pas certain de pouvoir en faire plus .
Bonne bonne
Yule

NB: vu à la page 138 du tuto disponible sur Cocoriweb qui m'a bien aidé pour ne "couler" dans mes recherches.. 🤫
 
Dernière édition:

Sam_du_13

Membre
Salut,

Les listes en Python observent à peu près la même syntaxe que les tableaux : DevDocs
Les tableaux array existent en Python mais seront supprimés dans la version 4.0 donc autant ne plus s'en servir.

Mais comme le dit yule, et de la façon dont tu as écris le code c'est bien une liste que tu as déclarée et non un tableau.
Par exemple ici c'est un tableau avec une déclaration de valeurs comprenant une liste
Python
a = arr.array('i', [1, 6, 7, 12] )

Je suis comme toi Bertrand, j'apprends en ce moment (y)
 

Cascadeur

Membre
Chouette du Python !

Une liste peut prendre différentes formes dans sa syntaxe, elle peut ressembler à un tableau à la différence près que les tableaux sont affublés de Type code
La DevDocs précise ces différents syntaxes:
  • En utilisant une paire de crochets pour désigner la liste vide: []
  • Utilisation de crochets, la séparation des éléments par des virgules: [a],[a, b, c]
  • En utilisant une compréhension de liste: [x for x in iterable]
  • En utilisant le constructeur de type: list() ou list(iterable)
*iterable : qui peut se répéter
 
Salut et merci pour les réponses,

Je commençais mal avec de mauvaises infos. listes, tableaux... faut que je potasse un peu mieux la doc.
Je vais tenter la liste pour définir plusieurs caractères de remplacement.
Python
res = [i.replace('o', '*') for i in words] # un seul caractère de remplacement
 

yule

Membre
Ciao,

Initialement sur VSC

Mais je viens de tester ce que j'ai proposé sur ton lien et tout fonctionne

Capture d’écran 2021-02-22 161706.jpg
 

Ces discussions pourraient vous intéresser...

Bonjour à tous, J'essaie de déployer une application sur mon serveur live via Docker mais j'ai du faire une mauvaise configuration car l'application s'est installé en local. Il y a un fichier à configurer : docker-compose.yml notamment cette section server: image...
Bonsoir, j'ai fait une recherche sur le forum et je crois que personne n'en a encore parlé, j'ai trouvé un site pas mal lorsque j'ai installé easyPHP (qui est maintenant Webserver) : KodeShot. Cela permet de créer des captures d'écrans d'extrait de code. Vous tapez votre code, vous...
Hello, J'ai créé un formulaire avec Bootstrap mais j'ai un problème de mise en forme. Les <input> prennent chacun leur propre ligne alors que j'aimerais que certains soit côte à côte. Je ne parviens pas du tout à faire ce que je veux et je ne trouve rien dans la documentation...
Haut