Total dan Rata-rata
Termasuk bagian Dasar-Dasar dalam perjalanan Ruby di Coddy. Pelajaran 83 dari 88.
Tantangan
MudahKembangkan pelacak pengeluaranmu dengan menambahkan fungsi "Total & Average".
Programmu harus:
- Menginisialisasi array kosong bernama
expenses - Membuat
loop doyang menampilkan menu dan membaca input pengguna - Saat pengguna memasukkan
"1", minta nama dan jumlah pengeluaran, buat hash dengan kunci:namedan:amount, tambahkan ke arrayexpenses, lalu tampilkanExpense added! - Saat pengguna memasukkan
"2", tampilkan semua pengeluaran atau pesan jika tidak ada - Saat pengguna memasukkan
"3", hitung dan tampilkan total serta rata-rata semua pengeluaran, atau pesan jika tidak ada - Saat pengguna memasukkan
"5", tampilkanGoodbye!lalu keluar dari perulangan
Menu harus ditampilkan persis seperti sebelumnya:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Saat opsi "3" dipilih:
- Jika tidak ada pengeluaran, tampilkan:
No expenses to calculate. - Jika ada pengeluaran, tampilkan total dan rata-rata dalam format ini:
Total: $XAverage: $Y
Hitung total dengan menjumlahkan semua nilai :amount. Hitung rata-rata dengan membagi total dengan jumlah pengeluaran.
Misalnya, jika inputnya adalah 3, lalu 5 (menghitung saat belum ada pengeluaran), outputnya harus seperti ini:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: No expenses to calculate.
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!Jika inputnya adalah 1, Coffee, 5.0, 1, Lunch, 15.0, 3, lalu 5, outputnya harus seperti ini:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Total: $20.0
Average: $10.0
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!Coba sendiri
# Inisialisasi array expenses
expenses = []
# TODO: Tulis kodemu di bawah ini
# Buat perulangan yang:
# - Menampilkan menu
# - Membaca input pengguna
# - Menangani pilihan 1, 2, 3, dan 5
#
# Untuk pilihan "1": minta nama dan jumlah, buat hash, lalu tambahkan ke expenses
# Untuk pilihan "2": tampilkan semua pengeluaran atau pesan jika tidak ada
# Untuk pilihan "3": hitung dan tampilkan total & rata-rata, atau pesan jika tidak ada
# Untuk pilihan "5": cetak "Goodbye!" lalu keluarSemua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ringkasan: Logika SederhanaOperator Logika Bagian 3Operator Logika Bagian 47Kalkulator Pembagian Tagihan
Pesan Selamat DatangMengambil input dari Pengguna10FizzBuzz dengan Variasi
Gambaran Umum PermainanMetode FizzBuzz2Variabel dan Tipe Data
Angka dan VariabelTipe Data stringTipe Data booleanTipe Data SymbolMemeriksa Tipe DataKonvensi PenamaanRangkuman: Membuat Variabel5Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaIf - Else BersarangPernyataan Unless8Perulangan
For Loop dengan RentangWhile LoopBreakNextRangkuman: FaktorialTimes LoopUntil LoopPerulangan BersarangRangkuman: Input Dinamis3Operator Bagian 1
Operator AritmetikaOperator ModuloPintasan AritmetikaRingkasan: Matematika SederhanaOperator Perbandingan6Dasar Input dan Output
Output dengan putsOutput dengan print dan pOutput dengan VariabelInput dengan getsMethod chompKonversi TipeRangkuman: Kalkulator UsiaRangkuman: Benar atau Salah9method
Mendefinisikan methodParameter methodNilai KembalianRangkuman: Sigma methodRangkuman: Validation methodNilai Default Parameter12Melakukan Perulangan pada Koleksi
Iterator EachEach dengan IndeksMelakukan Perulangan pada StringMap dan Collect15Pelacak Pengeluaran Harian
Ikhtisar ProyekKeluar dari ProgramLatihan sendiri: Compiler Ruby online