Expressions régulières

Fermé
Gueustou - 1 oct. 2018 à 20:12
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 2 oct. 2018 à 09:03
Bonjour,

Bonjour,
Je voudrais savoir comment peut -on, avec des expressions régulières, effectuer la tâche suivante:
L’utilisateur Tape au clavier : la somme de 25 et 45 est :
Et le programme lui renvoie 25 + 45 = 70
Je vous remercie d’avance !


4 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
1 oct. 2018 à 20:56
Bonsoir l’expression régulière va te permettre d’extraire 25, 45 et le mot somme.
Ensuite, à toi déduire quel opérateur utiliser et de faire l’opération.

Pour la regex, voir cet exemple.
[http://regexstorm.net/tester?p=L%5Bae%5D+%5Cb%28%5Cw%2B%29%5Cb+de+%28%5Cd%2B%29+et+%28%5Cd%2B%29&i=La+somme+de+45+et+25+est%0D%0ALe+produit+de+30+et+15+est L[ae] \b(\w+)\b de (\d+) et (\d+)]

Regarde l’onglet Context

0
je te remercie pour ta réponse.
J'ai pu faire un truc, qui fonctionne, dans certains cas .
 a = b = 0
    phrase = input("donner la tâche à faire \n")
    if re.search("(somme){1}\s(de){1}\s\d{1,}\s(et){1}\s\d{1,}", phrase) is not None:
        liste = re.findall("\d{1,}\.?\d{0,}",phrase)
        for i in range(len(liste)):
            a = liste[i]
            a = float(a)
            b += a
        print ("Cette somme est égale à: \n", b)
            
    else:
        print("Je ne peux rien faire")


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.


Merci d'y penser dans tes prochains messages.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
2 oct. 2018 à 07:00
T’es allé voir le lien que je t’ai donné ?
0
Bonjour,
J’ai regardé, mais je n’ai pas compris.
J’ai découvert les expressions régulières hier, du coup, ce n’est pas encore clair dans ma tête.
Merci et bonne journée !
0
Bonjour,
J’ai regardé, mais je n’ai pas compris.
J’ai découvert les expressions régulières hier, du coup, ce n’est pas encore clair dans ma tête.
Merci et bonne journée !
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
2 oct. 2018 à 09:03
On a tous débuté, c'est pas un problème, cependant, je t'ai proposé une syntaxe qui marche (au moins pour somme et produit) et tu la modifies pour qu'elle ne marche plus.

Ça aurait été plus judicieux de demander comment elle fonctionne, non?

L[ae] 
veut dire un L majuscule suivi de a ou e, suivi d'un espace
\b
est une limite de mot, pas sûr que ce soit obligé ici
\w+
plusieurs caractères alpha numériques à la suite, entouré de parenthèses donc se sera une capture
\d+
plusieurs chiffres à la suite, capturé aussi
0