Quoi acheter
Fait partie de la section Fondamentaux du Journey Swift de Coddy. Leçon 86 sur 86.
Défi
FacileÉcrivez une fonction whatToBuy qui prend itemNames, itemPrices et budget, et renvoie un tableau de noms d’articles pouvant être achetés dans la limite du budget.
Parcourez les articles dans l’ordre. Pour chaque article, vérifiez si l’ajout de son prix au total cumulé resterait dans la limite du budget. Si c’est le cas, ajoutez le nom de l’article à votre liste de courses et mettez à jour le total. Si un article dépasse le budget, ignorez-le et continuez à vérifier les articles restants.
Logique :
- Commencez avec un total cumulé de
0.0et un tableau de résultats vide - Parcourez chaque article par index
- Si le total cumulé plus le prix de l’article actuel est inférieur ou égal au budget, ajoutez le nom de l’article au résultat et mettez à jour le total cumulé
- Si l’ajout de l’article dépasse le budget, ignorez-le et passez à l’article suivant
- Renvoyez le tableau des noms d’articles abordables
Paramètres :
itemNames([String]) : Tableau des noms d’articlesitemPrices([Double]) : Tableau des prix correspondants (de même longueur que itemNames)budget(Double) : Montant maximal pouvant être dépensé
Valeur renvoyée : Un tableau des noms d’articles pouvant être achetés dans la limite du budget, dans l’ordre où ils apparaissent ([String])
Exemple :
// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Résultat : ["Apple", "Bread"]
// (Apple coûte 2.0, Bread coûte 3.5, le total est 5.5 ce qui est dans le budget)
// (Milk ferait un total de 9.5, ce qui dépasse 6.0, donc il est ignoré)Essayez vous-même
func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
// Écrire le code ici
}
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur ModuloAffectation composéeRécapitulatif - Mathématiques simplesOpérateurs de comparaison7Entrées/Sorties de base
Fonction PrintInterpolation de chaînesSaisie ReadLineConversion de typesRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourÉtiquettes d'argumentRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut13Itération sur les séquences
Itérer sur les élémentsLa méthode d'énumérationItérer sur les chaînes P1Itérer sur les chaînes P22Variables
Let vs VarAnnotations de typeNombresStringsBooléensConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de facture
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz3Les Optionnels
Comprendre les optionnelsDéballage avec If LetL'instruction Guard LetOpérateur de fusion nilRécapitulatif - Déballage sécurisé6Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleL'instruction SwitchSwitch avec des intervalles9Boucles
Boucle For-InBoucle WhileBoucle Repeat-WhileBreakContinueRécapitulatif - FactorielleIntervalles dans les bouclesBoucles imbriquéesRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Swift