Imbrications de loop "FOR" avec identification des mois dans un trimes
Coellophysis
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche à créer des notes de frais mensuelles par gérants. J'ai réussi à coder de manière à calculer par gérants en fonction du nombre de jour, de créer un joli fichier word que j'envoie ensuite automatiquement par mail au comptable.
Mais comme mon comptable travaille par trimestre, mon code actuelle m'oblige pour deux gérants à créer et envoyer 6 doc en 6 mails séparés, ce serait plus convivial de lui envoyer deux mails avec les documents joints du mois+1/mois+2/mois+3.
Pour cela je dois d'abord définir:
1) le gérant
2) le trimestre
3) les mois dans le trimestre
J'arrive à définir le 1) et le 2) via liste/dictionnaire et phrase interrogative de type "input" mais comment poser une question à l'utilisateur avec une variable en plus?
voici une partie du code, pour la question "-Tapez le nombre de jours pour le mois:"+m je voudrais que la variable "m" donne "janvier" si on réponds "Q1" dans le trimestre mais elle me donne "Q", à la fin de la loop, je voudrais la même question pour février et ensuite mars.
Je pense que je me trompe entre liste et dictionnaire?
Toute aide est la bien venue.
Notez que je n'ai pas encore travailler le code pour créer plusieurs attachements, mais un problème à la fois, je précise que je suis un néophyte donc j'imagine que le code aurait pu être plus simple :-)
Je cherche à créer des notes de frais mensuelles par gérants. J'ai réussi à coder de manière à calculer par gérants en fonction du nombre de jour, de créer un joli fichier word que j'envoie ensuite automatiquement par mail au comptable.
Mais comme mon comptable travaille par trimestre, mon code actuelle m'oblige pour deux gérants à créer et envoyer 6 doc en 6 mails séparés, ce serait plus convivial de lui envoyer deux mails avec les documents joints du mois+1/mois+2/mois+3.
Pour cela je dois d'abord définir:
1) le gérant
2) le trimestre
3) les mois dans le trimestre
J'arrive à définir le 1) et le 2) via liste/dictionnaire et phrase interrogative de type "input" mais comment poser une question à l'utilisateur avec une variable en plus?
voici une partie du code, pour la question "-Tapez le nombre de jours pour le mois:"+m je voudrais que la variable "m" donne "janvier" si on réponds "Q1" dans le trimestre mais elle me donne "Q", à la fin de la loop, je voudrais la même question pour février et ensuite mars.
Je pense que je me trompe entre liste et dictionnaire?
Toute aide est la bien venue.
Notez que je n'ai pas encore travailler le code pour créer plusieurs attachements, mais un problème à la fois, je précise que je suis un néophyte donc j'imagine que le code aurait pu être plus simple :-)
Gerants = ["Luc","François"] Quarters ={'Q1':("janvier","fevrier","mars"),'Q2':("avril","mai","juin"),'Q3':("juillet","aout","septembre"),'Q4':("octobre","novembre","decembre")} Tarifs = {'Luc':10,'François':12} for gerant in Gerants: QuartersSelect = "" while QuartersSelect != "quitter": QuartersSelect = input("Sélectionnez le trimestre (ex:Q1/Q2/Q3/Q4) ou tapez quitter pour sortir:") for m in QuartersSelect: JourPreste = int(input("Tapez le nombre de jours de prestations entre 1 et 31 pour le mois :"+m)) if(JourPreste > 0) and (JourPreste <=31): print("Vous avez tapé: ",JourPreste) print(Tarifs[gerant]) NotedeFrais = JourPreste *Tarifs[gerant] NotedeFrais = round(NotedeFrais,2) Decompte = "Le coût pour le " Decompte += gerant Decompte += " pour le mois de " Decompte += m Decompte += " est de " Decompte += str(JourPreste) Decompte += " x" Decompte += str(Tarifs[gerant]) Decompte += "=" Decompte += str(NotedeFrais) Decompte += " EUR"+"\n"+"\n"
A voir également:
- Imbrications de loop "FOR" avec identification des mois dans un trimes
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Entrer les informations d'identification reseau - Guide
- Supprimer identification instagram - Guide
- Identification instagram - Guide
- Idm for mac - Télécharger - Téléchargement & Transfert
2 réponses
Salut Coellophysis,
En ligne 11, tu énumères le contenu de l'objet
Or, ce que tu veux, c'est utiliser les clefs de ton dictionnaire Quarters pour accéder aux éléments des tuples auxquelles elles donnent accès, c'est à dire pour la clef
Il me semble alors que tu devrais plutôt essayer ceci en ligne 11 :
Dal
P.S. : je n'ai pas regardé, ni exécuté le reste du code
En ligne 11, tu énumères le contenu de l'objet
QuartersSelect, qui est une string obtenue avec
input(). Cela énumère naturellement les lettres contenues dans la string et à la première itération tu te retrouves avec
"Q"si tu as saisi
"Q1"(et à la deuxième
"1").
Or, ce que tu veux, c'est utiliser les clefs de ton dictionnaire Quarters pour accéder aux éléments des tuples auxquelles elles donnent accès, c'est à dire pour la clef
"Q1", énumérer successivement les éléments
"janvier",
"fevrier",
"mars".
Il me semble alors que tu devrais plutôt essayer ceci en ligne 11 :
for m in Quarters[QuartersSelect]:
Dal
P.S. : je n'ai pas regardé, ni exécuté le reste du code
Bonjour Dal,
Tu as vu juste, le code tourne avec ta modification. Je vais revoir mes notions des tuples car c'est encore un peu flou pour moi mais merci beaucoup en tout cas.
Tu as vu juste, le code tourne avec ta modification. Je vais revoir mes notions des tuples car c'est encore un peu flou pour moi mais merci beaucoup en tout cas.