Total et moyenne
Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 81 sur 86.
Défi
FacileDans la leçon précédente, vous avez implémenté la fonctionnalité "View all expenses". Maintenant, implémentez la fonctionnalité "Show total and average" pour l'option "3".
Modifiez votre code pour gérer l'option "3" :
- Lorsque l'utilisateur saisit
"3", vérifiez si le tableauexpensesest vide - Si le tableau est vide, affichez
No expenses to calculate. - Si le tableau contient des dépenses, calculez et affichez :
- Le total de toutes les dépenses, formaté comme
Total: $X.X - La dépense moyenne, formatée comme
Average: $X.X
- Le total de toutes les dépenses, formaté comme
- L'option
"4"doit toujours afficherComing soon... - Les options
"1","2", et"5"doivent continuer à fonctionner comme avant
Conseil : Utilisez reduce(0, +) pour calculer le total, et divisez par Double(expenses.count) pour la moyenne.
Comportement attendu :
- Lorsque
"3"est saisi sans dépenses, affichezNo expenses to calculate. - Lorsque
"3"est saisi avec des dépenses, affichez le total sur une ligne et la moyenne sur la ligne suivante
Exemple d'interaction :
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
No expenses to calculate.
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
20.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
30.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
Total: $50.0
Average: $25.0
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
5
Goodbye!Essayez vous-même
// Daily Expense Tracker - Menu Display
var expenses: [Double] = []
while true {
// TODO: Write your code below to print the menu options
// Each option should be on its own line with the format: "number. option text"
print("1. Add expense")
print("2. View all expenses")
print("3. Show total and average")
print("4. Clear all expenses")
print("5. Exit")
let choice = readLine()
if choice == "1" {
print("Enter expense amount:")
if let input = readLine(), let amount = Double(input) {
expenses.append(amount)
print("Expense added!")
}
} else if choice == "2" {
if expenses.isEmpty {
print("No expenses recorded.")
} else {
print("Your expenses:")
for expense in expenses {
print("- $\(expense)")
}
}
} else if choice == "3" {
print("Coming soon...")
} else if choice == "4" {
print("Coming soon...")
} else if choice == "5" {
print("Goodbye!")
break
} else {
print("Coming soon...")
}
}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 dynamique12Bases des tableaux
Déclarer un tableauAccéder aux élémentsModifier des tableauxMéthodes de tableauxRécapitulatif - Liste de produitsRécapitulatif - Tableau inverséTuples15Suivi des dépenses quotidiennes
Présentation du projetQuitter le programme