We were in Lucerne in March for 2 nights, on our way from Paris to Florence. Despite the expense, I am so glad we stopped.
Switzerland was, literally, like a breath of fresh air after gritty Paris and before sometimes-over-the-top Florence. We paid just less than $200 per night at the Hotel Walstaetterhof, directly across the street from the Lucerne train station. Excellent buffet breakfasts were included, which helped defray the cost of a minimalist but perfectly clean large-sized room, with a heated bathroom floor, no less!
Because the restaurant in the hotel was highly-rated & quasi-reasonable, we dined there both nights. Fresh perch one night, and a Swiss steak/goulash over noodles the next, great quality with a salad bar! In the $25-$30 range. During our one day touring Lucerne, we had read in advance about the Manor Department store cafeteria, which was a wonderful food court, high-quality fare wherever you looked. Even in early March, with the temps around 40F, we brought our trays up to the rooftop, so we could dine al fresco under a late winter sun with the mountains all around--tremendous scenery. Lunch, BTW, ended up around $15 apiece, which I considered a value.
The hotel people and really everyone around Lucerne were truly so service-oriented and could not do enough for you. Even though I speak a bit of French and Italian, I know no German but that did not matter as most in Lucerne speak flawless English. All in all, I thought Lucerne was actually a good value given the sense of welcoming well-being the people of Lucerne showed off to their visitors. I will be back to Switzerland, no doubt.