This is an incomplete tree diagram I made to classify this list of animals:
horse, cow, sheep, pig, dog, cat, lion, tiger, whale, dolphin, seal, penguin, ostrich, sparrow, spider, ant, bee, wasp, termite, octopus, squid
I havent finished putting in dog, tiger, lion, etc. just because the application required me to buy some subscription for more shapes and i wasn't gonna do that, but that doesn't matter cos I can visualise the rest. My question is; In python code, how can I make a program that asks the user yes/no questions continuously until it can make out what animal it is out of the list. I can obviously do this with lots of IF statements, or with OOP and using attributes, however both solutions require me to ask EVERY single question, which would amount to quite a lot of lines of code, and it would be quite ugly. How do I make it, for example, so that if the user says that their animal is aquatic, it no longer asks any of the questions that don't apply to the animal. For example:
If I pick wasp, and I answer yes to the question "Is your animal a land animal?", then no to "Is your animal a mammal?", then yes to it being a carnivore and being able to fly, how do i make it so the program will only branch to those questions? Basically, how do i code a tree diagram that follows the user's inputs? (I dont need any GUI)