Bonjour,
![]()
J'ai essayé ça mais ça le fait avec tout les mots (pas que ceux qui sont identiques au début et à la fin)
Bonjour
Il est de bon ton de poster le code directement dans le forum au lieu de mettre une bête copie d'écran. Déjà c'est une question de politesse (ça évite de faire saigner les yeux de tes lecteurs) et surtout c'est alors plus pratique de notre côté pour pouvoir tester (un simple copier/coller au lieu d'avoir à tout retaper).
Et entre balises "[ code ]" et "[ /code ]" (sans espace aux crochets) le code..
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
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
21
22
23 import re nom1 = input ("veuillez entrer un premier mot svp : ") nom2 = imput ("veuillez entrer un second mot svp : ") if re.search(r".*..$", nom1) : test = re.search(r"(.*)(..)$", nom1) mot1 = test.group(2) if re.search(r"^...*$", nom2): test = re.search(r"^(..)(.*)", nom2) mot2 = test.group(1) mot3 = test.group(2) if mot1==mot2: motvalise = nom1+mot3 else: motvalise = "impossible à créer" print (motvalise)
Mouais. J'aurais dû préciser "un code qui fonctionne" !!!
Sinon je ne comprends pas pourquoi tu travailles sur "nom1" et "nom2" de façon individuelle. Pourtant tu as toi-même écrit "si la fin du premier mot recouvre le début du second". Il serait donc intéressant de comparer la fin du premier avec le début du second donc les mettre à un moment donné ensembles !!!
Et puisqu'il faut absolument du regex, alors un petit re.search(nom2[:i], nom1) avec i décroissant et on s'arrête dès qu'on trouve un match...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
salut,
avec les regex c'est facile, l'astuce c'est d'utiliser les références arrières (backreferences) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 >>> import re >>> s = input('entrez deux mots sur la même ligne : ') entrez deux mots sur la même ligne : ténor énormité >>> re.findall(r'(\w+)(\w+) \2(\w+)', s) [('t', 'énor', 'mité')] >>> ''.join(re.findall(r'(\w+)(\w+) \2(\w+)', s)[0]) 'ténormité'
Joli. Je ne connaissais pas ces backref donc je ne voyais pas trop pourquoi utiliser les regex (on y arrivait aussi assez facilement en jouant avec les nom1[-i:] et nom2[:i]).
Toutefois donner la solution complète est un peu contraire aux règles non ?
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
c'est 3 lignes dont un import, faut pas déconner...
mais à savoir si c'est contraire aux règles... tout dépend le sens que l'on donne à "nous ne sommes pas là pour faire vos exercices", sachant que le message est adressé à "lycéen, collégien, étudiant (bref un apprenti développeur)", il semble raisonnable de penser qu'il s'agit d'une règle visant à limiter les demandes et non les réponses, donc je dirais que non.
pour autant on le sait bien que les étudiants viennent poser leurs questions ici, libre à chacun de répondre ou pas ou même de jouer au prof, là je lui ai donné la solution directement, si ça lui fait gagner 15min dans sa journée tant mieux moi ça ne m'a rien couté, en prime elle a le nom du bouzin et un lien vers l'explication détaillée, c'est sa responsabilité à elle d'en apprendre plus ou non, et mon choix à moi de répondre favorablement à sa demande ou pas, c'est plutôt comme ça que je me le représente.
on parle donc de responsabilisation du PO. ça m'arrange d'autant plus que j'ai pas à faire la police ou le censeur, et ça m'évite de me mettre dans tous mes états ou de l'envoyer promener parce que untel n'a pas fourni son code ou que tel autre ne sait pas expliquer son problème etc. et que le tout m'agace et donc m'épuise sur le long terme. non, là si c'est trop compliqué ou pas assez détaillé je passe juste mon chemin, et la sélection naturelle fait le reste.
Partager