Aide en python
kazute
Messages postés
109
Date d'inscription
Statut
Membre
Dernière intervention
-
kazute Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
kazute Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un programme en python à faire (pour gérer les stock d'un magasin) et j'ai un problème pour une fonction.
Je vous donne ici l'énoncé suivis des fonctions de mon programme :
Dictionnaires :
lesPrix = {"perçeuse":60,"ampoule":3.5,"clous":1.99,"vis":2.20}
leStock = {"perçeuse":15,"ampoule":75,"vis":300,"clous":400}
lesDepts = {"quincaillerie":leStock,"outillage":{"perçeuse":5,"visseuse":8}}
Q1 : ""Spécifier puis ´ écrire une fonction ´ informations stocks qui retourne, a partir des prix des `
articles et du nombre d’articles en rayon, les trois informations suivantes (dans l’ordre indique) : ´
— le montant total de marchandises en rayon;
— le nbre total d’articles en rayon;
— le prix moyen d’un article.
On considerera qu’un article en rayon dont on ne conna ` ˆıt pas le prix coute 1 euro; s’il n’y a pas d’articles ˆ
en rayon, le prix moyen d’un article est zero
Note : On peut retourner un tuple facilement avec l’operateur ´ , : si a, b et c sont trois variables
dans une fonction, l’instruction return a,b,c retourne un tuple compose de leurs trois valeurs. ""
Q2 "". Specifier puis ´ ecrire une fonction ´ info depts qui retourne les trois informations prec´ edentes ´
pour chaque departement.""
Jusque là, mes fonctions fonctionnent parfaitement.
Mais à partir de là l'énoncé dit :
""Specifier puis ´ ecrire une fonction ´ index articles qui retourne, pour chaque article, les departements ´
dans lesquels ont peut le trouver.
Exemple :
>>> index_du_magasin = index_articles(lesDepts)
>>> index_du_magasin
{’ampoule’: [’quincaillerie’], ’vis’: [’quincaillerie’],
’perc¸euse’: [’quincaillerie’, ’outillage’],
’visseuse’: [’outillage’], ’clous’: [’quincaillerie’]}""
Voici ce que j'ai fait :
Seulement ce qui est demandé (exemple à l'appui) ne correspond absolument pas à ce que j'ai en utilisant ma fonction :
Exemple :
>>> index_du_magasin = index_articles(lesDepts)
>>> index_du_magasin
{’ampoule’: [’quincaillerie’], ’vis’: [’quincaillerie’],
’perçeuse’: [’quincaillerie’, ’outillage’],
’visseuse’: [’outillage’], ’clous’: [’quincaillerie’]}
Si vous pouviez corriger ma fonction ou me donner une fonction qui fait ce qui est demandé, cela m'arrangerais énormément ! (en expliquant bien sur ce que vous avez fait pour m'aider à comprendre).
J’espère que j'ai été assez clair et je vous remercie à l'avance pour vos réponses.
Cordialement,
J'ai un programme en python à faire (pour gérer les stock d'un magasin) et j'ai un problème pour une fonction.
Je vous donne ici l'énoncé suivis des fonctions de mon programme :
Dictionnaires :
lesPrix = {"perçeuse":60,"ampoule":3.5,"clous":1.99,"vis":2.20}
leStock = {"perçeuse":15,"ampoule":75,"vis":300,"clous":400}
lesDepts = {"quincaillerie":leStock,"outillage":{"perçeuse":5,"visseuse":8}}
Q1 : ""Spécifier puis ´ écrire une fonction ´ informations stocks qui retourne, a partir des prix des `
articles et du nombre d’articles en rayon, les trois informations suivantes (dans l’ordre indique) : ´
— le montant total de marchandises en rayon;
— le nbre total d’articles en rayon;
— le prix moyen d’un article.
On considerera qu’un article en rayon dont on ne conna ` ˆıt pas le prix coute 1 euro; s’il n’y a pas d’articles ˆ
en rayon, le prix moyen d’un article est zero
Note : On peut retourner un tuple facilement avec l’operateur ´ , : si a, b et c sont trois variables
dans une fonction, l’instruction return a,b,c retourne un tuple compose de leurs trois valeurs. ""
def informations_stocks(stock,prix): total = 0 articles = 0 for i in stock: if i in prix: total+= stock[i] * prix[i] else: total += stock[i] articles += stock[i] moyen = total / articles return total,articles,moyen
Q2 "". Specifier puis ´ ecrire une fonction ´ info depts qui retourne les trois informations prec´ edentes ´
pour chaque departement.""
def info_depts(dept,prix): dic = {} for i in dept: dic[i] = informations_stocks(dept[i],prix) return dic
Jusque là, mes fonctions fonctionnent parfaitement.
Mais à partir de là l'énoncé dit :
""Specifier puis ´ ecrire une fonction ´ index articles qui retourne, pour chaque article, les departements ´
dans lesquels ont peut le trouver.
Exemple :
>>> index_du_magasin = index_articles(lesDepts)
>>> index_du_magasin
{’ampoule’: [’quincaillerie’], ’vis’: [’quincaillerie’],
’perc¸euse’: [’quincaillerie’, ’outillage’],
’visseuse’: [’outillage’], ’clous’: [’quincaillerie’]}""
Voici ce que j'ai fait :
def index_articles(dept): dic = {} for i in leStock: for key in dept.items(): dic[i] = leStock[i] dic[i] = key #dept[j] return dic
Seulement ce qui est demandé (exemple à l'appui) ne correspond absolument pas à ce que j'ai en utilisant ma fonction :
Exemple :
>>> index_du_magasin = index_articles(lesDepts)
>>> index_du_magasin
{’ampoule’: [’quincaillerie’], ’vis’: [’quincaillerie’],
’perçeuse’: [’quincaillerie’, ’outillage’],
’visseuse’: [’outillage’], ’clous’: [’quincaillerie’]}
Si vous pouviez corriger ma fonction ou me donner une fonction qui fait ce qui est demandé, cela m'arrangerais énormément ! (en expliquant bien sur ce que vous avez fait pour m'aider à comprendre).
J’espère que j'ai été assez clair et je vous remercie à l'avance pour vos réponses.
Cordialement,
EDIT : Déplacement de la discussion dans le bon forum ET ajout des balises de code !
A voir également:
- Aide en python
- Citizen code python avis - Accueil - Outils
- Mot secret python pix ✓ - Forum Python
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Ce programme est écrit en python il construit un mot secret ✓ - Forum Python
- Python par la pratique : 101 exercices corrigés pdf - Forum Python
Tout d'abord, merci pour ces aides qui m'ont permis d'un peut mieux comprendre (je n'avais pas connaissance des .keys et .values) Mais je n'y arrive toujours pas:
voilà mon code :
Je me retrouve avec:
Lorsque je lance la fonction, je n'arrive pas a faire spécifier le fait que l'outil se trouve dans outillage ou dans la quincaillerie.
Si vous avez d'autres pistes je suis preneur.
j'ai pu avancer dans mes exercices et je suis de nouveau bloqué à une question :
Specifier puis ´ ecrire une fonction ´ permuteListe(uneListe) qui echange successi- ´
vement chaque el´ ement de la liste (l’ ´ el´ ement au rang 0, puis au rang 1, puis . . .) avec un autre ´ el´ ement ´
de la liste choisi au hasard. La liste doit pouvoir contenir n’importe quel type d’el´ ement. La liste donn ´ ee´
en parametre est modifi ` ee par cette fonction
Voici mon programme :
Jusque là ça marche mais la question suivante est problématique :
A l’aide de la fonction précédente, spécifier puis ´ écrire une fonction ´ dictPerm() qui
fabrique et retourne un dictionnaire de permutation (tire au hasard) pour les lettres majuscules
Exemple d’utilisation :
> perm = dictPerm()
> perm
{’Z’: ’A’, ’X’: ’N’, ’Y’: ’E’, ’V’: ’J’, ’W’: ’H’, ’T’: ’L’, ’U’: ’C’,
’R’: ’O’, ’S’: ’Q’, ’P’: ’V’, ’Q’: ’Y’, ’N’: ’M’, ’O’: ’U’, ’L’: ’F’,
’M’: ’K’, ’J’: ’I’, ’K’: ’R’, ’H’: ’T’, ’I’: ’B’, ’F’: ’Z’, ’G’: ’W’,
’D’: ’P’, ’E’: ’G’, ’B’: ’X’, ’C’: ’D’, ’A’: ’S’}
Pour cette question, vous utiliserez la variable ascii_uppercase du module string qui contient
la chaîne de caractères des lettres de l’alphabet en majuscules .
Voici mon programme :
je voudrais savoir comment me servir (où placer le permuteListe) du programme précédent pour mélanger les lettres dans le dictionnaire.
Cordialement,