A voir également:
- Comment calculer la masse molaire
- Comment calculer la moyenne sur excel - Guide
- Renommer fichier en masse - Guide
- Comment calculer la somme sur excel - Guide
- Tableau de masse ✓ - Forum Excel
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Excel
3 réponses
M3NSONG3
Messages postés
615
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
4 novembre 2021
162
3 juin 2021 à 11:41
3 juin 2021 à 11:41
Salut !
Alors pour décomposer le string en list, tu peux utiliser simplement : list(str) :
Ensuite, pour transformer tes chiffres en int, tu peux utiliser :
Ou la version condensée :
Et j'ai pas compris exactement ce que tu veux avec les H, He... la manière la plus simple est de "couper" ta liste avant chaque majuscule.
Si j'ai mal répondu dis moi je garde le sujet dans mes suivis...
Bon courage !
--
Cordialement.
Alors pour décomposer le string en list, tu peux utiliser simplement : list(str) :
>>> list("mon_string") ['m', 'o', 'n', '_', 's', 't', 'r', 'i', 'n', 'g']
Ensuite, pour transformer tes chiffres en int, tu peux utiliser :
>>> for i, x in enumerate(liste): ... if x.isdigit(): ... liste[i] = int(x)
Ou la version condensée :
liste = [int(x) if x.isdigit() else x for x in liste]
Et j'ai pas compris exactement ce que tu veux avec les H, He... la manière la plus simple est de "couper" ta liste avant chaque majuscule.
Si j'ai mal répondu dis moi je garde le sujet dans mes suivis...
Bon courage !
--
Cordialement.
Bonjour,
D'abord, merci de m'avoir répondu. Ta réponse claire m'a permis de commencer ma fonction.
D'abord, merci de m'avoir répondu. Ta réponse claire m'a permis de commencer ma fonction.
M3NSONG3
Messages postés
615
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
4 novembre 2021
162
5 juin 2021 à 23:35
5 juin 2021 à 23:35
Aucun problème, hésite pas si tu bloques encore, je passe régulièrement sur le forum !
Oui bonjour,
J'ai pu trouver la réponse. Mon professeur a dit que je réfléchissais de manière complexe. Alors j'ai fait ça :
Quand je fais
Merci de ton aide
J'ai pu trouver la réponse. Mon professeur a dit que je réfléchissais de manière complexe. Alors j'ai fait ça :
base = {"H":1,"He":4, "Li":7,"Be":9,"B":11,"C":12,"N":14,"O":16,"F":19,"Ne":20, "Na":23,"Mg":24,"Al":27,"Si":28,"P":31,"S":32,"Cl":35,"Ar":40} def dic_mol(molecule): mol = 0 for i in molecule.keys(): for j in base.keys(): if i == j: mol += base[j]*molecule[i] return mol
Quand je fais
dic_mol({"H":2,"O":1})j'obtiens bien 18 g/mol
Merci de ton aide
3 juin 2021 à 11:46
Pour calculer la masse molaire, il faut prendre la valeur de la molécule dans le dictionnaire base, le multiplier par le chiffre juste après :
Par exemple ; M(H2O) = M(H)*2 (car le 2 juste après est là pour dire qu'il y a 2 hydrogène) + M(O) = 2*1 + 16 = 18 g/mol
3 juin 2021 à 12:02
Je voulais juste savoir précisément où tu avais besoin d'aide !
Histoire de t'avancer un peu, en continuant sur mon idée qui est peut-être la plus simple... Du moins la plus simple à imaginer et qui me vient en tête, tu peux utiliser cette fonction pour découper les atomes :
Exemple d'entrée : "CoCl3" --> ["Co", "Cl3"]
Si ta formule est correctement et que mes cours de chimie sont pas trop loin, le chiffre se trouve toujours après la lettre, il te suffit de vérifier si le dernier élément de chaque molécule est une chiffre, et si oui, le retirer puis t'en servir comme coefficient, sachant que ce qu'il te reste dans le string après, c'est la clef de ton dictionnaire...
Bon courage