0

I am trying to create a program that uses classes and methods to makes a restaurant/s. By making a restaurant I mean it states their name, the type of food they serve, and when they open.

I have done that successfully, but now I am trying to create an ice cream stand that inherits from its parent class (Restaurant) and makes a child class (IceCreamStand). My problem is that when I store the list of ice cream flavors in an attribute (flavor_options), and print it, it prints the list with the brackets around it.

I just want to print the items inside the list in a regular sentence format. Any help is greatly appreciated, thanks!

    #!/usr/bin/python

    class Restaurant(object):
        def __init__(self, restaurant_name, cuisine_type, rest_time):
            self.restaurant_name = restaurant_name
            self.cuisine_type = cuisine_type
            self.rest_time = rest_time
            self.number_served = 0

    def describe_restaurant(self):
        long_name = "The restaurant," + self.restaurant_name + ", " + "serves " + self.cuisine_type + " food"+ ". It opens at "  + str(self.rest_time) + "am."
        return long_name

    def read_served(self):
        print("There has been " + str(self.number_served) + " customers served here.") 

    def update_served(self, ppls):
        self.number_served = ppls

        if ppls >= self.number_served:
            self.number_served = ppls # if the value of number_served either stays the same or increases, then set that value to ppls.
        else:
            print("You cannot change the record of the amount of people served.")
            # if someone tries decreasing the amount of people that have been at the restaurant, then reject themm.

    def increment_served(self, customers):
        self.number_served += customers

class IceCreamStand(Restaurant):
    def __init__(self, restaurant_name, cuisine_type, rest_time):

        super(IceCreamStand, self).__init__(restaurant_name, cuisine_type, rest_time)
        self.flavors = Flavors()

class Flavors():
    def __init__(self, flavor_options = ["coconut", "strawberry", "chocolate", "vanilla", "mint chip"]):
        self.flavor_options = flavor_options

    def list_of_flavors(self):
        print("The icecream flavors are: " + str(self.flavor_options))

icecreamstand = IceCreamStand(' Wutang CREAM', 'ice cream', 11)
print(icecreamstand.describe_restaurant())
icecreamstand.flavors.list_of_flavors()

restaurant = Restaurant(' Dingos', 'Australian', 10)
print(restaurant.describe_restaurant())

restaurant.update_served(200)
restaurant.read_served()

restaurant.increment_served(1)
restaurant.read_served()
Paul Rooney
  • 20,879
  • 9
  • 40
  • 61
Manolo Ribera
  • 103
  • 1
  • 4
  • 8

1 Answers1

2

You would want to use .join() to combine the list into a single string.

I.E.

flavor_options = ['Chocolate','Vanilla','Strawberry']

", ".join(flavor_options)

This would output:

"Chocolate, Vanilla, Strawberry"
Michael Goodwin
  • 700
  • 6
  • 16