Co kupić
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 88 z 88.
Wyzwanie
ŁatwyWczytaj listę zakupów i stan magazynowy sklepu z danych wejściowych, a następnie określ, które produkty można kupić.
Otrzymasz:
- Pierwszy wiersz: nazwy produktów z listy zakupów, oddzielone przecinkami
- Drugi wiersz: liczbę produktów w magazynie sklepu
- Kolejne wiersze: każdy zawiera nazwę produktu i jego ilość, oddzielone przecinkiem
Na przykład dane wejściowe apples,5 oznaczają, że w sklepie jest 5 jabłek.
Dla każdego produktu z listy zakupów wypisz jego nazwę, a następnie - Yes, jeśli można go kupić, lub - No, jeśli nie można.
Produkt można kupić, jeśli:
- Znajduje się w magazynie sklepu ORAZ
- Jego ilość jest większa od 0
Jeśli produktu w ogóle nie ma w magazynie lub jego ilość wynosi 0, wypisz No.
Na przykład, jeśli dane wejściowe to:
apples,bread,milk
3
apples,5
bread,0
milk,3Wynik powinien wyglądać następująco:
apples - Yes
bread - No
milk - YesJeśli dane wejściowe to:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0Wynik powinien wyglądać następująco:
eggs - Yes
butter - No
cheese - No
yogurt - NoJeśli dane wejściowe to:
water
1
water,100Wynik powinien wyglądać następująco:
water - YesSpróbuj swoich sił
# Wczytaj listę zakupów (produkty oddzielone przecinkami)
shopping_list = gets.chomp.split(',')
# Wczytaj liczbę pozycji w asortymencie
n = gets.to_i
# Wczytaj asortyment sklepu
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO: Napisz swój kod poniżej
# Dla każdego produktu z listy zakupów sprawdź, czy można go kupić
# Produkt można kupić, jeśli istnieje w inventory ORAZ jego quantity > 0
# Dla każdego produktu wypisz "item_name - Yes" lub "item_name - No"Wszystkie 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łszPoćwicz samodzielnie: Kompilator Ruby online