I've built a class to ask a user a question, based on a type.
class Question:
    def __init__(self, subject):
        self.subject = subject
        self.question = f"Enter the {subject} to be created. You may end this by typing 'DONE':\n"
        self.still_needed = True
    def ask_question(self):
        ans_list = []
        running = True
        while running:
            var = input(f"Enter {self.subject}?\n")
            if var.lower() == 'done':
                running = False
            else:
                ans_list.append(var)
        return ans_list
The idea is to have a question model, to create lists of items.
This seems to work well with the following code in main.
roles = Question(subject="role").ask_question()
This creates a list from the Queue Class and uses it's method ask question to generate the list. As far as I can tell the object is then destroyed, as it's not saved to a variable.
My question, being new to Python and OOP is, does this seem like a solid and non-confusing way, or should I refractor? If so, what does the community suggest?
 
    