There are quite a few restaurants in Lucerne, but not too many either... I didn't want to eat pizza, but the Old Swiss House was closed, so I ended up at the Stadtkeller recommended by Travel Around the World, which is famous for its nightly cabaret performances.
The restaurant's decoration is very retro and upscale. I was shocked when I walked in and felt that it must be very expensive. Sure enough, in addition to ordering food, each person needs to pay an additional 17 Swiss francs for watching the show, and even ordering a cup of hot water costs 2 Swiss francs per cup. Recommended dish: Vienna schnitzel, delicious but really big portion...Pork chop is also good. P.S. The show was great.