レストランの予約

このタスクでは、レストランチェーンの管理システムを設計します。PythonクラスのRestaurantを作成し、make_reservationorder_foodの2つのメソッドを持たせてください。さらに、Restaurantの子クラスであるFastFoodRestaurantを設計し、make_reservationメソッドをオーバーライドして、常にWe do not take reservations.と出力するようにします。

レストランには定められた数のテーブルがあります。各予約は1時間と想定されます。make_reservationメソッドはこれを処理し、希望の時間に空いているテーブルがない場合はNo seats availableと出力する必要があります。make_reservationメソッドは3つのパラメータ——人の名前、テーブルの数、yyyy-mm-dd-hh形式の日付と時間——を受け取ります。予約が成功した場合、メソッドはReservation made for <name> at <date>と出力します。

order_foodメソッドは、注文されたアイテムを表す任意の数の引数を受け取り、Order with <item1>, <item2>, ..., <item_n> placed!というメッセージを出力します。

入力

出力

restaurant = Restaurant('Dining Paradise', 5); restaurant.make_reservation('John', 2, '2023-10-24-19')

Reservation made for John at 2023-10-24-19

fast_food = FastFoodRestaurant('Burger World', 5); fast_food.make_reservation('John', 2, '2023-10-24-19'); fast_food.order_food('Burger', 'Soda')

We do not take reservations. Order with Burger, Soda placed!

restaurant = Restaurant('Dining Paradise', 1); restaurant.make_reservation('John', 1, '2023-10-24-19'); restaurant.make_reservation('Mary', 2, '2023-10-24-19')

Reservation made for John at 2023-10-24-19 No seats available

現在の時刻はこの問題では関係ありません。すべての予約は有効であると仮定してください。

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue