Total dan Rata-rata
Termasuk bagian Dasar-Dasar dalam perjalanan Swift di Coddy. Pelajaran 81 dari 86.
Tantangan
MudahDi pelajaran sebelumnya, kamu menerapkan fitur "View all expenses". Sekarang, terapkan fitur "Show total and average" untuk opsi "3".
Ubah kodemu untuk menangani opsi "3":
- Saat pengguna memasukkan
"3", periksa apakah arrayexpenseskosong - Jika array kosong, cetak
No expenses to calculate. - Jika array berisi pengeluaran, hitung dan tampilkan:
- Total semua pengeluaran, dengan format
Total: $X.X - Rata-rata pengeluaran, dengan format
Average: $X.X
- Total semua pengeluaran, dengan format
- Opsi
"4"harus tetap mencetakComing soon... - Opsi
"1","2", dan"5"harus tetap berfungsi seperti sebelumnya
Petunjuk: Gunakan reduce(0, +) untuk menghitung total, lalu bagi dengan Double(expenses.count) untuk mendapatkan rata-ratanya.
Perilaku yang diharapkan:
- Saat
"3"dimasukkan tanpa pengeluaran, cetakNo expenses to calculate. - Saat
"3"dimasukkan dengan pengeluaran, cetak total pada satu baris dan rata-rata pada baris berikutnya
Contoh interaksi:
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!Coba sendiri
// 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...")
}
}Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganUlasan: Matematika SederhanaOperator Perbandingan7I/O Dasar
Fungsi printInterpolasi stringInput ReadLineKonversi tipe dataRangkuman: Sampai 120Rangkuman: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianLabel ArgumenUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Default13Melakukan Perulangan pada Urutan
Melakukan Perulangan pada ElemenMetode EnumerasiMelakukan Perulangan pada String P1Melakukan Perulangan pada String P22Variabel
let vs varAnotasi TipeBilanganstringBooleanKonvensi PenamaanRingkasan: Inisialisasi Variabel5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 3Operator Ternary8Kalkulator Pembagi Tagihan
Pesan SambutanMendapatkan Input11FizzBuzz dengan Variasi
Gambaran Umum PermainanFungsi FizzBuzz3Optional
Apa Itu OptionalMembuka Optional dengan If LetGuard LetOperator Nil CoalescingUlasan: Membuka Optional dengan Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaPernyataan SwitchSwitch dengan Rentang9Perulangan
For-In LoopWhile LoopRepeat-While LoopBreakContinueRingkasan: FaktorialRentang dalam LoopLoop BersarangRingkasan: Input Dinamis12Dasar array
Mendeklarasikan arrayMengakses elemenMengubah arrayMethod arrayRangkuman: list produkRangkuman: array terbaliktuple15Pelacak Pengeluaran Harian
Ikhtisar ProyekKeluar dari ProgramLatihan sendiri: Playground Swift