Connectez-vous avec des experts et des passionnés sur Zoofast.fr. Posez n'importe quelle question et recevez des réponses immédiates et bien informées de la part de notre communauté d'experts dévoués.
Sagot :
Réponse :
Tu peux essaye le code ici c'est en javascript mais tu devrai pouvoir t'en aidé pour le faire en python
au finale j'ai pas fait que du pseudo code :)
https://jsfiddle.net/deiiku/m8tr3y95/
Explications :
https://jsfiddle.net/deiiku/m8tr3y95/
/* get order va récuperer le nom du client et donné la commande ou false si pas possible */
function getOrder(nameCustomer,orderList) {
let indexCliOrder = nameCustomer.replace("cli","");
// check if le tableau a une longeur suffisante pour récuperer la command
// je check aussi que la valeur de indexCliOrder est uniquement un nombre entre 0-9 est rien d'autre si
if (orderList.length < indexCliOrder || indexCliOrder.match(/^[0-9]+$/) == null)
return false;
return orderList[indexCliOrder];
}
function countTotalPriceOrder(order,listPrice) {
let totalPrice = 0;
// exemple order === [10,12,2,5,0,8,9,4,1,10]
for (let i = 0; i < order.length; i++) {
let quantityDemand = order[i];
let price = listPrice[i];
let priceTotalOneProduct = quantityDemand * price;
totalPrice = totalPrice + priceTotalOneProduct;
}
return totalPrice;
}
function removeOrderFromStock(stock,order) {
// le stock est un tableau a key pas d'index il va faloire récuperer les key banene orange ect..
// En python exemple : myDict.keys() # => ["john", "jeff"] nous donne un tableau de toute les key
for (let i= 0; i < order.length; i++) {
let quantityProductToWithdraw = order[i];
let listKeyStock = Object.keys(stock); //["banane", "orange", "poire", "pamplemousse" ect...]
let key = listKeyStock[i]; // key = "banana" par exemple
stock[key] = stock[key] - quantityProductToWithdraw;
}
return stock;
}
function buy(stock,order,price,nameCustomer) {
let totalPrice = countTotalPriceOrder(order,price);
console.log(nameCustomer + " doit payer " + totalPrice +"euros");
let newStock = removeOrderFromStock(stock,order);// retourne le stock a jour après l'achat du client;
console.log(newStock); //on affiche le stock total comme demandé dans le sujet
return newStock;
}
let enterStandardValue = "cli1";
let cli = [
[10,12,2,5,0,8,9,4,1,10],
[8,1,3,1,0,8,9,4,1,10],
[1,3,2,5,0,8,9,4,1,10]
];
// if enterStandardValue == cli1
// alors == cli[0]
// if enterStandardValue == cli2
// alors == cli[1] ect..
let stock = {"banane":130, "orange" : 1150, "poire" : 85, "pamplemousse" :53, "avocat" : 191, "Poireau":233, "Poivzon" : 145, "chou" : 1100, "celeri" : 164,"fenouil":142 };
let prix = [1.2,1.7,1.75,1.9,3.1,0.7,2.1,1.35,1.8,2.25];
// prix des stock prix[0] = banane , prix[8] = prix du celerie et prix[1] = orange ect..
let order = getOrder(enterStandardValue,cli);
if (order != false)
{
stock = buy(stock,order,prix, enterStandardValue);
// on change la variable stock avec la nouvelle valeur retourne de buy;
}
Votre engagement est important pour nous. Continuez à partager vos connaissances et vos expériences. Créons un environnement d'apprentissage agréable et bénéfique pour tous. Faites de Zoofast.fr votre ressource principale pour des réponses fiables. Nous vous attendons pour plus de solutions.