Listes

samirbenouaret Messages postés 9 Date d'inscription samedi 22 août 2020 Statut Membre Dernière intervention 2 septembre 2020 - 27 août 2020 à 22:37
 Liste - 29 août 2020 à 00:47
Bonjour,
Actuallement je travaille sur les fichiers csv, j'ai un petit problème. Alors j'ai 8 capteurs de pression qui sont définis par: CSFD, CSortie,CSAD, CLF,CP,CSFG,CSM,CLG. J'ai crée une 2 ème liste qui contient les données (Valeurs numériques) des ces capteurs. Je voudrais afficher juste les valeurs d'un seul capteur, c'est-à-dire selon la variable a. Par exemple si je mis a=CSFD, donc je veux afficher les données du capteur CSFD, mais il m'affiche erreur. Je vous remerciepour votre compréhension.
import numpy as np
#pour demander le nom du fichier à lire et récupérer les donées de type csv 
nom_fichier=input("donner moi le nom du fichier: ")
#La fonction loadtxt qui appartient à la bibliothèque numpy permet de lire les données csv à partir de la ligne 13 
pointage = np.loadtxt(nom_fichier,delimiter=';',skiprows=13)
#Récupérer les données dans des listes 
t=pointage[:,9]
CSFD=pointage[:,0]
CSortie=pointage[:,1]
CSAD=pointage[:,2]
CLF=pointage[:,3]
CP=pointage[:,5]
CSFG=pointage[:,6]
CSM=pointage[:,7]
CLG=pointage[:,8]
a=float(input("donner moi le nom du capteur: ")
List=[CSFD,CSortie,CSAD,CLF,CP,CSFG,CSM,CLG]
for i in range(0,len(List)):
    if List[i]=a:
        print(a)

1 réponse

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
28 août 2020 à 08:14
Bonjour

Commençons par les choses simples,
"Donnez moi"
avec un z.

Ensuite
a=float(input("donner moi le nom du capteur: ")

Si je vois afficher la demande d’un nom, je vais taper du texte,
"CSAD"
par exemple, or CSAD ça ne peut pas être converti en float, même pas en chiffres romains

Et quand bien même ça pourrait, dans tous les langages que je connais, l’index d’une liste c’est pas un float c’est un int (mais je ne code pas en Python alors p’tet que ça marche avec un float)

Pour résoudre ton problème une solution est d’écrire un menu du type
"Pour les pommes de terre, tapez 1
Pour les navets, tapez 2
Etc"


Une autre solution serait d’utiliser un dictionnaire https://www.qwant.com/?q=python+dictionnary&client=brz-brave
0
Je vous remercie pour votre réponse.
0
Rejoignez-nous