Summe und Durchschnitt
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 81 von 86.
Aufgabe
EinfachIn der vorherigen Lektion hast du die Funktion „View all expenses“ implementiert. Implementiere nun die Funktion „Show total and average“ für die Option "3".
Ändere deinen Code, um die Option "3" zu verarbeiten:
- Wenn der Benutzer
"3"eingibt, prüfe, ob dasexpensesArray leer ist - Wenn das Array leer ist, gib
No expenses to calculate.aus - Wenn das Array Ausgaben enthält, berechne und zeige Folgendes an:
- Die Gesamtsumme aller Ausgaben, formatiert als
Total: $X.X - Die durchschnittliche Ausgabe, formatiert als
Average: $X.X
- Die Gesamtsumme aller Ausgaben, formatiert als
- Option
"4"sollte weiterhinComing soon...ausgeben - Die Optionen
"1","2"und"5"sollten weiterhin wie bisher funktionieren
Hinweis: Verwende reduce(0, +), um die Gesamtsumme zu berechnen, und teile durch Double(expenses.count) für den Durchschnitt.
Erwartetes Verhalten:
- Wenn
"3"ohne Ausgaben eingegeben wird, gibNo expenses to calculate.aus - Wenn
"3"mit Ausgaben eingegeben wird, gib die Gesamtsumme in einer Zeile und den Durchschnitt in der nächsten Zeile aus
Beispiel-Interaktion:
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!Probier es selbst
// 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...")
}
}Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorZusammengesetzte ZuweisungWiederholung - Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypumwandlungWiederholung - Bis 120Wiederholung - Wahr oder Falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgument-LabelsWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandardwerte13Iterieren über Sequenzen
Iterieren über ElementeDie enumerate-MethodeIterieren über Strings Teil 1Iterieren über Strings Teil 22Variablen
Let vs. VarTyp-AnnotationenZahlenStringsBooleansBenennungskonventionenZusammenfassung – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungs-Splitter
WillkommensnachrichtEingabe abfragen14Arrays für Fortgeschrittene
Array Slicing Teil 1Array Slicing Teil 2Sequenz-OperatorenDie Contains-Methode3Optionals
Was sind OptionalsUnwrapping mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Unwrapping6Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Wertebereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueWiederholung – FakultätBereiche in SchleifenVerschachtelte SchleifeWiederholung – Dynamische Eingabe12Array-Grundlagen
Ein Array deklarierenZugriff auf ElementeArrays modifizierenArray-MethodenWiederholung - ProduktlisteWiederholung - Umgekehrtes ArrayTupel15Täglicher Ausgaben-Tracker
ProjektübersichtProgramm beenden