issue164:python
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue164:python [2020/12/28 19:38] – d52fr | issue164:python [2020/12/29 15:48] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
If we use an example from last month and have the two datetime objects st and et (meaning start time and end time), and try to add them – which really makes no sense, but let’s try it anyway – you will receive the text shown below.** | If we use an example from last month and have the two datetime objects st and et (meaning start time and end time), and try to add them – which really makes no sense, but let’s try it anyway – you will receive the text shown below.** | ||
- | Le mois dernier, nous avons étudié la possibilité d' | + | Le mois dernier, nous avons étudié la possibilité d' |
+ | la place nécessaire pour montrer l' | ||
On pourrait supposer que puisque vous pouvez soustraire deux objets datetime, vous pourriez ajouter deux objets datetime tout aussi facilement. Mais ce n'est pas le cas. | On pourrait supposer que puisque vous pouvez soustraire deux objets datetime, vous pourriez ajouter deux objets datetime tout aussi facilement. Mais ce n'est pas le cas. | ||
Ligne 19: | Ligne 20: | ||
Bien qu'il existe quelques moyens d' | Bien qu'il existe quelques moyens d' | ||
- | Après avoir fouillé sur Internet, j'ai trouvé cette discussion sur stackoverflow.com. (https:// | + | Après avoir fouillé sur Internet, j'ai trouvé cette discussion sur stackoverflow.com. (https:// |
Il semble que la solution soit « simplement » d' | Il semble que la solution soit « simplement » d' | ||
Ligne 31: | Ligne 32: | ||
Requirement already satisfied: numpy in ./ | Requirement already satisfied: numpy in ./ | ||
- | Bien que cela ait fonctionné à un niveau basique, ce n' | + | Bien que cela ait fonctionné à un niveau basique, ce n' |
$ pip3 install numpy | $ pip3 install numpy | ||
- | Si numpy est déjà installé, | + | Si numpy est déjà installé, |
Exigence déjà satisfaite : numpy in ./ | Exigence déjà satisfaite : numpy in ./ | ||
Ligne 50: | Ligne 51: | ||
Make sure that you press < | Make sure that you press < | ||
- | Le programme suppose que vos heures sont mises dans un fichier texte. Voici celui que j' | + | Le programme suppose que vos heures sont mises dans un fichier texte. Voici celui que j' |
06:00:00 | 06:00:00 | ||
Ligne 69: | Ligne 70: | ||
[' | [' | ||
- | Maintenant que c'est réglé, regardons le code (après que je l'ai modifié), bloc par bloc, avec quelques explications en cours de route. Pour exécuter le programme, vous devrez utiliser Python en version 3.7 ou ultérieure, | + | Maintenant que cela est réglé, regardons le code (après que je l'ai modifié), bloc par bloc, avec quelques explications en cours de route. Pour exécuter le programme, vous devrez utiliser Python en version 3.7 ou ultérieure, |
Tout d' | Tout d' | ||
Ligne 91: | Ligne 92: | ||
tmp=[[' | tmp=[[' | ||
- | Je n'ai pas inclus les microsecondes dans mes entrées de données, donc c'est simplement la liste des chaînes que nous avions entrées dans le fichier. Notez également que le dernier élément de la liste est une chaîne vide, c'est pourquoi il mentionne qu'il a dû laisser tomber le dernier élément | + | Je n'ai pas inclus les microsecondes dans mes entrées de données, donc c'est simplement la liste des chaînes que nous avions entrées dans le fichier. Notez également que le dernier élément de la liste est une chaîne vide, c'est pourquoi il mentionne |
Maintenant, nous devons prendre chaque entrée de notre liste et la convertir en une liste de listes. | Maintenant, nous devons prendre chaque entrée de notre liste et la convertir en une liste de listes. | ||
Ligne 101: | Ligne 102: | ||
print(f " | print(f " | ||
- | La déclaration d' | + | La déclaration d' |
tmp=[[' | tmp=[[' | ||
Ligne 121: | Ligne 122: | ||
[array([6., 0., 0.]), array([3., 0., 0.]), array([2., 8., 0.]), array([ 3., 10., 0.]), array([11., 10., 0.]), array([8., 0., 0.])]** | [array([6., 0., 0.]), array([3., 0., 0.]), array([2., 8., 0.]), array([ 3., 10., 0.]), array([11., 10., 0.]), array([8., 0., 0.])]** | ||
- | Voyez ci-dessus la liste des listes que j'ai mentionnée. Ensuite, nous créons une liste vide qui contiendra chacun des éléments, puis nous parcourons chaque élément, nous le convertissons en un tableau numpy en virgule flottante, nous l' | + | Voyez ci-dessus la liste des listes que j'ai mentionnée. Ensuite, nous créons une liste vide qui contiendra chacun des éléments, puis nous parcourons chaque élément, nous le convertissons en un tableau numpy en virgule flottante, nous l' |
C'est donc la fin de la boucle for. À ce stade, le programme a imprimé chacune des valeurs de np_tmp et les a ajoutées à la liste np_tims. Notre sortie, à ce stade, ressemble à ceci : | C'est donc la fin de la boucle for. À ce stade, le programme a imprimé chacune des valeurs de np_tmp et les a ajoutées à la liste np_tims. Notre sortie, à ce stade, ressemble à ceci : | ||
Ligne 148: | Ligne 149: | ||
[33. 28. 0.]** | [33. 28. 0.]** | ||
- | Nous approchons de la partie « magique » faite le programme. Comme nous en avons fini avec la boucle for, nous allons maintenant utiliser la fonction .sum de numpy. Au début, il divisait les sommes du tableau par un autre tableau de [24, 60, 1000]. Cependant, lorsque cela s' | + | Nous approchons de la partie « magique » du programme. Comme nous en avons fini avec la boucle for, nous allons maintenant utiliser la fonction .sum de numpy. Au début, il divisait les sommes du tableau par un autre tableau de [24, 60, 1000]. Cependant, lorsque cela s' |
# X = np.array(np_tims).sum(axis=0) / np.array([24, | # X = np.array(np_tims).sum(axis=0) / np.array([24, | ||
Ligne 182: | Ligne 183: | ||
33.0 28.0 | 33.0 28.0 | ||
- | Et, comme vous le savez, la valeur de gauche est celle des heures et la valeur de droite celle des minutes. Remarquez que je ne ne m' | + | Et, comme vous le savez, la valeur de gauche est celle des heures et la valeur de droite celle des minutes. Remarquez que je ne m' |
**Next, we convert the hours to seconds by multiplying by 3600, and the minutes by 60, and then adding them together. | **Next, we convert the hours to seconds by multiplying by 3600, and the minutes by 60, and then adding them together. | ||
Ligne 260: | Ligne 261: | ||
As always, until next time; stay safe, healthy, positive and creative!** | As always, until next time; stay safe, healthy, positive and creative!** | ||
- | Si vous regardez la déclaration d' | + | Si vous regardez la déclaration d' |
Total à facturer = 836, | Total à facturer = 836, | ||
Ligne 266: | Ligne 267: | ||
Ce qui n'a pas de sens pour un montant de facturation. | Ce qui n'a pas de sens pour un montant de facturation. | ||
- | Comme nous avons passé du temps à créer un programme, j'ai longuement réfléchi à la manière de fournir le code source. Si je le mettais sur pastebin comme je l'ai fait dans le passé, il faudrait faire deux téléchargements séparés, mais si je mettais le code sur mon dépôt github, alors il ne faudrait télécharger qu'un seul petit fichier zip. J'ai donc mis le code dans mon dépôt github. Vous pouvez | + | Comme nous avons passé du temps à créer un programme, j'ai longuement réfléchi à la manière de fournir le code source. Si je le mettais sur pastebin comme je l'ai fait dans le passé, il faudrait faire deux téléchargements séparés, mais si je mettais le code sur mon dépôt github, alors il ne faudrait télécharger qu'un seul petit fichier zip. J'ai donc mis le code dans mon dépôt github. Vous pouvez |
- | Comme toujours, jusqu' | + | Comme toujours, jusqu' |
issue164/python.1609180698.txt.gz · Dernière modification : 2020/12/28 19:38 de d52fr