Un jean-python pour m'aider ?
- 1
donc en gros je dois faire un programme qui transforme:
"bbbooonnnjjjooouuurrr" -> "bonjour"
et je sais pas trop comment m'y prendre si vous avez des pistes !
PS: oui je débute
Boucle où tu compares un indice à son suivant, ternaire sur l'égalité et tu l'ajoutes dans la string finale qu'en cas de différent ?
Mais ça réglerait pas le souci pour les mots a double consonne genre
Le 19 août 2021 à 23:47:04 :
J'ai rien compris à ton exo
en gros j'ai un texte où toutes les lettre sont en triples et je dois faire revenir le texte en normal comme dans l'exemple que j'ai dit
Salut, je peux te proposer une réponse:
def single(string):
return "".join([string[i] for i in range(len(string)) if not(i%3)])
In [10]: single("bbbooonnnjjjooouuurrr")
Out[10]: 'bonjour'
C'est de la bruteforce mais vu que ton mot en entrée a toujours les lettres en 3 fois ça marche.
while any(str.count(c)>1 for c in str):
for c in str:
if str.count(c) > 1:
str = str.replace(c*2, c)
break
En gros un programme qui supprime les doublons ?
Tu utilises la fonction list() qui transforme ta string en list
Puis tu utilises set() qui rend les données d'une list unique
puis tu utilises join() qui te redonne une string
ça prend 3 lignes
def next_repeat(str):
last = str[0]
for pos,char in enumerate(str):
if last == char: return pos-1
last = char
return -1
def del_repeat(str):
while (pos:=next_repeat(str)) != -1:
del str[pos]
Le 30 août 2021 à 00:27:12 :
def next_repeat(str):
last = str[0]
for pos,char in enumerate(str):
if last == char: return pos-1
last = char
return -1def del_repeat(str):
while (pos:=next_repeat(str)) != -1:
del str[pos]
et ça tu peut le faite dans toutes les langues
Le 30 août 2021 à 00:25:51 :
En gros un programme qui supprime les doublons ?Tu utilises la fonction list() qui transforme ta string en list
Puis tu utilises set() qui rend les données d'une list unique
puis tu utilises join() qui te redonne une string
ça prend 3 lignes
Marche pas si une lettre se répète dans le mot de base
Le 30 août 2021 à 00:27:51 :
Le 30 août 2021 à 00:25:51 :
En gros un programme qui supprime les doublons ?Tu utilises la fonction list() qui transforme ta string en list
Puis tu utilises set() qui rend les données d'une list unique
puis tu utilises join() qui te redonne une string
ça prend 3 lignes
Marche pas si une lettre se répète dans le mot de base
Ah oui effectivement
Le 30 août 2021 à 00:29:41 :
Le 30 août 2021 à 00:27:51 :
Le 30 août 2021 à 00:25:51 :
En gros un programme qui supprime les doublons ?Tu utilises la fonction list() qui transforme ta string en list
Puis tu utilises set() qui rend les données d'une list unique
puis tu utilises join() qui te redonne une string
ça prend 3 lignes
Marche pas si une lettre se répète dans le mot de base
Ah oui effectivement
J'étais parti sur le même principe avec un dict mais quand j'ai vu que ça me donnait bonjur et pas bonjour j'ai abandonné
Le 30 août 2021 à 00:27:51 :
Le 30 août 2021 à 00:25:51 :
En gros un programme qui supprime les doublons ?Tu utilises la fonction list() qui transforme ta string en list
Puis tu utilises set() qui rend les données d'une list unique
puis tu utilises join() qui te redonne une string
ça prend 3 lignes
Marche pas si une lettre se répète dans le mot de base
Et le tien marche pas si une lettre se répète plus de 3 fois, le problème est sous spécifié on peut pas y faire grand chose
Le 30 août 2021 à 00:31:12 :
Le 30 août 2021 à 00:27:51 :
Le 30 août 2021 à 00:25:51 :
En gros un programme qui supprime les doublons ?Tu utilises la fonction list() qui transforme ta string en list
Puis tu utilises set() qui rend les données d'une list unique
puis tu utilises join() qui te redonne une string
ça prend 3 lignes
Marche pas si une lettre se répète dans le mot de base
Et le tien marche pas si une lettre se répète plus de 3 fois, le problème est sous spécifié on peut pas y faire grand chose
L'op a spécifié que les lettres étaient toujours en triple
Le 30 août 2021 à 00:32:34 :
Le 30 août 2021 à 00:31:12 :
Le 30 août 2021 à 00:27:51 :
Le 30 août 2021 à 00:25:51 :
En gros un programme qui supprime les doublons ?Tu utilises la fonction list() qui transforme ta string en list
Puis tu utilises set() qui rend les données d'une list unique
puis tu utilises join() qui te redonne une string
ça prend 3 lignes
Marche pas si une lettre se répète dans le mot de base
Et le tien marche pas si une lettre se répète plus de 3 fois, le problème est sous spécifié on peut pas y faire grand chose
L'op a spécifié que les lettres étaient toujours en triple
exa exa j'avais pas lu si loin
def remove_duplicates(word):
new_word = ""
for letter in word:
if len(new_word) == 0:
new_word += letter
elif letter != new_word[-1]:
new_word += letter
return new_word
remove_duplicates("bbbbbbbooooonjjjooouuurrr lllleeesssssss aaaaaammmmiiiissss !!!!")
Retourne :
'bonjour les amis !'
- 1
Données du topic
- Auteur
- Alcorak9
- Date de création
- 19 août 2021 à 23:40:23
- Nb. messages archivés
- 18
- Nb. messages JVC
- 18