Position d'un text en fonction d'un caractère

Résolu
le_pere_noel - Modifié par le_pere_noel le 16/12/2014 à 16:13
 lamompe - 23 déc. 2014 à 23:31
Bonjour,

le titre de ma demande n'est pas très clair mais voila ce que je souhaite faire :
TF01 19.781

TF02 -32.194

TF03 -33.061

j'écris dans un fichier texte ces lignes la, il y a toujours 4 caractères au début et le "." des chiffres doit toujours être en position 17 sachant que le nombre de chiffre avant la virgule peut changer et être positif ou négatif. Le nombre de chiffre après la virgule est par contre toujours de 3.

Le code pour écrire (en vrac) ne pose pas de soucis par contre je n'ai aucune idée de part ou commencer pour spécifier la position du "." ou du dernier caractère de la chaine
Merci

3 réponses

Whismeril Messages postés 17805 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 septembre 2022 618
16 déc. 2014 à 18:45
Bonsoir, pour te répondre il faudrait déjà savoir comment tu fais pour le moment et donc que tu postes ton code. Pense à utiliser la coloration syntaxique.

0
Sprengstoff Messages postés 1 Date d'inscription mardi 16 décembre 2014 Statut Membre Dernière intervention 16 décembre 2014
Modifié par Sprengstoff le 16/12/2014 à 19:45
a supprimer, je croyais être dans le forum python
0
Whismeril Messages postés 17805 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 septembre 2022 618
16 déc. 2014 à 21:01
Déplacé vers Python
0
salut si j'ai bien compris tu veux lire les valeur apres chaque references.

1 tu cree un flux de fichier avec la commande prevu a cet effet
2 en utilisant le slicing (list.split('.')) tu recupere deux listes

ex : L= "TF01 19.781" (les str et les liste sont presque pareille en pytho)
L2 = L.split('.')
L3 = L2[0].split(' ')
nb = float(L3[1]+'.'+L2[1])

voila une idée ceci n'est pas elegant mais ça depanne je te conseille d'utiliser un type de donné dictionnaire pour lier chaque reference(TF01) avec une valeur numerique(19.781)

en esperant que ça t'aide
0