Goth25
Messages postés75Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention21 mai 2014
-
5 oct. 2013 à 23:24
jordane45
Messages postés38156Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 4 mai 2024
-
6 oct. 2013 à 03:50
Bonjour,
par cette ligne de code :
if ValideVar[0:2] != "pp" and ValideVar[-1:-3] != "pp":
je tente de valider que les 2 premier caractère ET que les 2 derniers sont différent de "p".
Donc voici ce qui passerais ou ne passerais pas :
Exemple :
- Chaine = fruits -ok passe sans validation
- Chaine = ppfruitspp -C'est ce que je dois valider
- Chaine = pfruitspp -ok passe sans validation
- Présentement, lorsque j'ai ceci comme chaine à valider : opp, (la fin oui c'est "pp" mais pas le début) il me valide alors qu'il ne devrait pas....
Vous avez une idée de la bonne syntaxe ? ou ce que je fais pas de pas correct ?
jordane45
Messages postés38156Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 4 mai 2024344 6 oct. 2013 à 02:19
Bonjour,
je ne dev pas en Python, toutesfois pour traiter ta question je t'inviterai à regarder du côté des expressions régulières.
Celle qui devrait te correspondre serait : ^pp*.*pp$
Merci à toi, les liens que tu m'a donné je vais les utiliser assez régulièrement. C'est très intéressant.
J'ai résolu le problème, en faite étant donné que j'était dans la négation, je devais utiliser un or au lieu du and.
Voici apres correction si jamais sa peut être utile a quelqu'un :
if ValideVar[0:2] != "pp" or ValideVar[-2:] != "pp":
jordane45
Messages postés38156Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 4 mai 2024344 6 oct. 2013 à 03:50
pas sur qu'avec un OR tu règles ton souci...
Si je lis ce que signifie ta ligne de code...
Si ValidVar[0:2] n'est pas égale à "PP" OU que ValidVar[-2:] n'est pas égale à PP alors... ce qui veut dire que si ton mot Ne commence pas ou ne finit pas par PP..la condition sera vérifiée...
Donc : ppfruitspp sera validé ok.. mais aussi
ppfruitsddf, fruitspp ... etc..
tu as testé avec le AND maintenant que tu as trouvé la syntaxe correcte pour avoir la fin de ta chaine ?
if ValideVar[0:2] != "pp" and ValideVar[-2:] != "pp":