Question de "style" sur un while (trop peu de "culture" python ?)
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:
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 |