[PYTHON] Des GENIES en INFORMATIQUE ici ?

buckethead06
2022-03-20 12:22:46

Le 20 mars 2022 à 12:21:38 :

Le 20 mars 2022 à 12:18:32 buckethead06 a écrit :
si tu peux utiliser index() :

for c in string:
if c == "A":
i = string.index("A")
string = string[:i] + "X" + string[i + 1:]

ton truc marche pas s'il y a plusieurs A dans le mot. faut utiliser enumerate

si ça marche j'ai test, pas besoin d'enumerate :ok:

PlanSeldon
2022-03-20 12:22:54

Bordel vous rendez fous à pas savoir utiliser la balise codehttps://image.noelshack.com/fichiers/2018/26/7/1530476579-reupjesus.png

Et Webedia rend fou à la delete dans les citationshttps://image.noelshack.com/fichiers/2018/26/7/1530476579-reupjesus.png

DON-JOUHANNE
2022-03-20 12:23:26

Le 20 mars 2022 à 12:01:39 :
J'ai besoin d'un algo pour remplacer tous les "A" d'une chaine de caractère, par un "X"

En utilisant obligatoirement cette methode (donc pas de array possible) :
a[:b] + changement + a[b+1:]

Des kheys ont des pistes ?https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

tu fais une variable tampon, tu parcours ta liste quand tu détecte un a tu stock a[:b] + "X" + a[b+1:] non ?

Azerban
2022-03-20 12:23:58

def swap_letters(word, letter1, letter2):
word_list = word.split(letter1)
return letter2.join(word_list)

swap_letters("PHRASE AVEC DE NOMBREUX A", "A", "X")

Retourne :

'PHRXSE XVEC DE NOMBREUX X'

DON-JOUHANNE
2022-03-20 12:24:36

Le 20 mars 2022 à 12:22:46 :

Le 20 mars 2022 à 12:21:38 :

Le 20 mars 2022 à 12:18:32 buckethead06 a écrit :
si tu peux utiliser index() :

for c in string:
if c == "A":
i = string.index("A")
string = string[:i] + "X" + string[i + 1:]

ton truc marche pas s'il y a plusieurs A dans le mot. faut utiliser enumerate

si ça marche j'ai test, pas besoin d'enumerate :ok:

pourquoi utiliser index un simple compteur fait l'affaire. a ne changera pas de taille !

Tetris-te
2022-03-20 12:24:48

a = ''.join(['x' if i == 'a' else i for in a])

LowIQDetermine
2022-03-20 12:24:58

Le 20 mars 2022 à 12:24:36 :

Le 20 mars 2022 à 12:22:46 :

Le 20 mars 2022 à 12:21:38 :

Le 20 mars 2022 à 12:18:32 buckethead06 a écrit :
si tu peux utiliser index() :

for c in string:
if c == "A":
i = string.index("A")
string = string[:i] + "X" + string[i + 1:]

ton truc marche pas s'il y a plusieurs A dans le mot. faut utiliser enumerate

si ça marche j'ai test, pas besoin d'enumerate :ok:

pourquoi utiliser index un simple compteur fait l'affaire. a ne changera pas de taille !

+1

LowIQDetermine
2022-03-20 12:26:12

message = message.replace("A", "X")

pq vous vous faites chier ?

JeanConstance
2022-03-20 12:26:42

Le 20 mars 2022 à 12:21:38 :

Le 20 mars 2022 à 12:18:32 buckethead06 a écrit :
si tu peux utiliser index() :

for c in string:
if c == "A":
i = string.index("A")
string = string[:i] + "X" + string[i + 1:]

ton truc marche pas s'il y a plusieurs A dans le mot. faut utiliser enumerate

j'ai test ton exemple il marche pas avec plusieurs A non plus :hap: (je parle du code avec enumerate)

buckethead06
2022-03-20 12:26:51

Le 20 mars 2022 à 12:24:58 :

Le 20 mars 2022 à 12:24:36 :

Le 20 mars 2022 à 12:22:46 :

Le 20 mars 2022 à 12:21:38 :

Le 20 mars 2022 à 12:18:32 buckethead06 a écrit :
si tu peux utiliser index() :

for c in string:
if c == "A":
i = string.index("A")
string = string[:i] + "X" + string[i + 1:]

ton truc marche pas s'il y a plusieurs A dans le mot. faut utiliser enumerate

si ça marche j'ai test, pas besoin d'enumerate :ok:

pourquoi utiliser index un simple compteur fait l'affaire. a ne changera pas de taille !

+1

Rapport ? :(

PoutineMechant
2022-03-20 12:27:03

Str( ["x" for e in word if e=="a"] )

OperationGladio
2022-03-20 12:30:23

Si tu veut pas utiliser de join :

 def replace(s, oldCharacter, newCharacter):
result = ''
for currentCharacter in s:
if (currentCharacter == oldCharacter):
result += newCharacter
else:
result += currentCharacter
return result

print(replace('blablabla', 'a', 'x')) #blxblxblx

Girouedesecours
2022-03-20 12:36:05

Une méthode triviale en O(n) :

S est ta chaîne
Smin est ta chaîne normalisée en minuscules

Pour chaque caractère de Smin:
récupère son index i
si Smin[i] est le caractère 'a' alors:
S = S[:i] + 'X' + S[i+1:]

L'implem :

S  = "Issou la chancla"
for i in range(len(S)):
if S[i].lower() == 'a':
S = S[:i] + 'X' + S[i+1:]

print(S)

Test :
S = "Issou la ChanclA!"
S' = "Issou lX ChXnclX!"

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.