Suma i średnia
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 83 z 88.
Wyzwanie
ŁatwyRozbuduj swój rejestr wydatków, dodając funkcjonalność "Total & Average".
Twój program powinien:
- Zainicjować pustą tablicę o nazwie
expenses - Utworzyć
loop do, który wyświetla menu i odczytuje dane wejściowe użytkownika - Gdy użytkownik wpisze
"1", poprosić o nazwę i kwotę wydatku, utworzyć hash z kluczami:namei:amount, dodać go do tablicyexpensesi wyświetlićExpense added! - Gdy użytkownik wpisze
"2", wyświetlić wszystkie wydatki lub komunikat, jeśli żaden nie istnieje - Gdy użytkownik wpisze
"3", obliczyć i wyświetlić sumę oraz średnią wszystkich wydatków lub komunikat, jeśli żaden nie istnieje - Gdy użytkownik wpisze
"5", wyświetlićGoodbye!i wyjść z pętli
Menu powinno być wyświetlane dokładnie tak jak wcześniej:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Po wybraniu opcji "3":
- Jeśli nie ma żadnych wydatków, wyświetl:
No expenses to calculate. - Jeśli są jakieś wydatki, wyświetl sumę i średnią w tym formacie:
Total: $XAverage: $Y
Oblicz sumę, dodając wszystkie wartości :amount. Oblicz średnią, dzieląc sumę przez liczbę wydatków.
Na przykład, jeśli dane wejściowe to 3, a następnie 5 (obliczanie, gdy lista jest pusta), wynikiem powinno być:
--- 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!Jeśli dane wejściowe to 1, Coffee, 5.0, 1, Lunch, 15.0, 3, a następnie 5, wynikiem powinno być:
--- 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!Spróbuj swoich sił
# Zainicjalizuj tablicę expenses
expenses = []
# TODO: Napisz swój kod poniżej
# Utwórz pętlę do, która:
# - Wyświetla menu
# - Odczytuje dane wprowadzone przez użytkownika
# - Obsługuje opcje 1, 2, 3 i 5
#
# Dla opcji "1": poproś o nazwę i kwotę, utwórz hash i dodaj go do expenses
# Dla opcji "2": wyświetl wszystkie wydatki lub komunikat, jeśli ich nie ma
# Dla opcji "3": oblicz i wyświetl sumę oraz średnią lub komunikat, jeśli nie ma wydatków
# Dla opcji "5": wypisz "Goodbye!" i zakończ programWszystkie lekcje w sekcji Podstawy
4Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 47Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika2Zmienne i typy danych
Liczby i zmienneTyp danych StringTyp danych BooleanTyp danych SymbolSprawdzanie typów danychKonwencje nazewnictwaPodsumowanie — tworzenie zmiennych5Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka — prosty kalkulatorZagnieżdżone if - elseInstrukcja unless8Pętle
Pętla for z zakresamiPętla whilebreaknextPowtórka – silniaPętla timesPętla untilPętle zagnieżdżonePowtórka – dynamiczne wejście3Operatory — część 1
Operatory arytmetyczneOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania6Podstawowe wejście i wyjście
Wyświetlanie za pomocą putsWyświetlanie za pomocą print i pWyświetlanie zmiennychWczytywanie za pomocą getsMetoda chompKonwersja typówPodsumowanie – kalkulator wiekuPodsumowanie – prawda czy fałsz9Metody
Definiowanie metodyParametry metodyWartości zwracanePowtórka — metoda SigmaPowtórka — metoda walidacjiDomyślne wartości parametrów15Codzienny rejestr wydatków
Przegląd projektuZakończenie programuPoćwicz samodzielnie: Kompilator Ruby online