IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

modification de variable


Sujet :

Python

  1. #1
    Membre émérite Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Par défaut modification de variable
    Bonjour,

    D'abord désolé pour le titre, j'ai rien trouvé de mieu
    Je possède une variable qui par defaut vaut "aaa000" j'aimerai faire évoluer celle-ci en "aaa001" puis "aaa0002" et ainsi de suite jusque "zzz999" et ce dans une boucle while.
    J'aimerai aussi que la casse soit sensible et donc pouvoir aussi passer par "AAA000" jusque "ZZZ999"

    J'ai beau me creuser les méninges, je n'ai d'autre solution que de m'en remettre à vous
    Merci de votre aide.

    Bonne fin de journée,

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Par défaut
    Salut

    J'ai planché sur ton problème et voici une solution
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    parametre = "aaa000"
     
    import string
    lettres=string.ascii_letters[0:26]
     
    def indent_lettre(chaine):
        indice_lettre=lettres.find(chaine[-1])
        if indice_lettre==len(lettres)-1 :
            fin=lettres[0]
            debut=indent_lettre(chaine[0:len(chaine)-1])
        else :
            fin=lettres[indice_lettre+1]
            debut=chaine[0:len(chaine)-1]
        return debut+fin
     
    def indent(parametre):
        a=parametre[0:3]
        b=int(parametre[3:])
        b = b+1
        if b>999 :
            b=0
            a=indent_lettre(a)
        if b<10 :
            return a+"00"+str(b)
        if b<100 :
            return a+"0"+str(b)
        return a+str(b)
     
    i=0
    while i < 100000 :
        parametre = indent(parametre)
        print parametre
    Elle n'est pas forcément optimum, mais elle semble répondre à ton problème.
    Comme je n'ai rien commenté, si t'as des questions, je suis open...

    See++

  3. #3
    Membre émérite Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Par défaut
    Bonjour,

    Merci beaucoup (j'essais de faire une foncion de ce type depuis un semaine )
    Je rentre dés que je rentre chez moi, mais merci beaucoup en tout cas

  4. #4
    Membre chevronné
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 475
    Par défaut
    Je sais que c'est résolu mais voici une autre solution avec une succession de boucles while et une liste. Elle est moins optimisée que la précédente mais permet de faire varier chaque élément de la variable indépendamment des autres puisqu'il y a un while pour chaque élément (je sais que ce n'est pas le but recherché mais bon ça peut peut-être servir ...)

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    def incremente():
        a0=97 # valeur ascii de la lettre 'a'
        a1=97
        a2=97
     
     
        var=[chr(a0),chr(a1),chr(a2),0,0,0] # liste composite de caracteres et d'entiers
        while var[5]<9:
            var[5]=var[5]+1  #incrementation du dernier entier
            VarInc=var[0]+var[1]+var[2]+str(var[3])+str(var[4])+str(var[5]) # varInc est la variable incrementee 
            print VarInc # test
     
        while var[4]<9:
            var[4]=var[4]+1
            VarInc=var[0]+var[1]+var[2]+str(var[3])+str(var[4])+str(var[5])
            print VarInc
     
        while var[3]<9:
            var[3]=var[3]+1
            VarInc=var[0]+var[1]+var[2]+str(var[3])+str(var[4])+str(var[5])
            print VarInc
     
        while a2<122:
            a2=a2+1
            var[2]=chr(a2)
            VarInc=var[0]+var[1]+var[2]+str(var[3])+str(var[4])+str(var[5])
            print VarInc
     
        while a1<122:
            a1=a1+1
            var[1]=chr(a1)
            VarInc=var[0]+var[1]+var[2]+str(var[3])+str(var[4])+str(var[5])
            print VarInc
     
        while a0<122:
            a0=a0+1
            var[0]=chr(a0)
            VarInc=var[0]+var[1]+var[2]+str(var[3])+str(var[4])+str(var[5])
            print VarInc
     
        print var # liste composite de depart incrementee
        varInc = var[0]+var[1]+var[2]+str(var[3])+str(var[4])+str(var[5])
        print ('voici la variable finale ', varInc)
     
     
    incremente()

  5. #5
    Membre émérite Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Par défaut
    Merci beaucoup,

    les deux fonctions fonctionnes très bien et j'aurais au moins pus analyser deux manières d'arriver à mes faims (fins?).
    merci à vous deux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Breakpoint sur une modif de variable
    Par teska dans le forum Delphi
    Réponses: 8
    Dernier message: 26/06/2018, 13h50
  2. [XSLT] Modifications de variable
    Par koopajah dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/06/2007, 09h51
  3. modification de variable d'environnement (PS1)
    Par trax44 dans le forum Administration système
    Réponses: 3
    Dernier message: 28/05/2007, 17h52
  4. modification des variables difine dans un movieclip
    Par 3adoula dans le forum Flash
    Réponses: 1
    Dernier message: 21/08/2006, 18h19
  5. Réponses: 3
    Dernier message: 01/09/2005, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo