Bonjour à toutes et tous,
La fonction CodeDateExU dans le code ci-dessous (2ème fonction) ne me plaît pas, bien qu'elle fonctionne très bien (c'est donc une question de forme, de style ... )
Ce qui trouble le novice que je suis en Python c'est le bloc implicite du while; le but est de reprendre le for tant que on y a fait quelque chose dedans (c.-à-d. on a exécuté ce qui suit le if ligne[0]==code Date)
Vous avez déjà bien fait avancer ma "culture" python, merci de m'aider là; je ne vois pas quel concept algorithmique pourrait faire plus "joli" ...
Le 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
24
25
26
27 # EncodeDate : Encode l'instant pour références en une chaine de 12 caractères # CodeDateExU(date, liste): transforme la date en une chaine unique dans la liste pour référence et tri # # Début: 09 dec 2019 # import time def EncodeDate(): lt= time.localtime(time.time()) #code= '{0:02.0f}{1:02.0f}{2:02.0f}{3:02.0f}{4:02.0f}{5:02.0f}'. # format(lt[0]-2000, lt[1], lt[2], lt[3], lt[4], lt[5]) # ex.: 191217200543 for i, val in enumerate(lt): if i==0: code= '{0:02.0f}'.format(val-2000) elif i==6: break else: code += '{0:02.0f}'.format(val) return code def CodeDateExU(codeDate, liste): flag= True der=len(liste)-1 while flag: for i, ligne in enumerate(liste): if ligne[0]==codeDate: codeDate=str(int(codeDate)+1); break if i==der: flag= False return codeDate
Partager