I am not trying to solve any problem that requires anything more than basic beginner’s stuff, I’m sure. It’s just that my ignorance of basic beginner’s stuff has given my mind the freedom to roam out to crazy land.
My approach to learning has been (or so far has tried to be) “Think of a problem, imagine how I would solve it step by step if I weren’t trying to write code but rather just English instructions, then go find (in the documentation or in online tutorials) whatever command or set of commands in this language can help me do things the way I’ve just imagined.”
But this has led me to propose (what are apparently ugly, bad and ridiculous) problem solving methods like having variables refer to names of other variables and so on.
*
Anyway, the thing I was trying to do is this. I wanted to have a program in which there are volcanos, and batches of substances like “baking soda,” “vinegar,” and “water,” such that if the user puts both baking soda and vinegar in the volcano, then it explodes. No problem there. But I wanted to make it such that the user can make new volcanos, each with its own name, and (w)hip up new batches of substances, each with its own label (created by the user), such that the user could have the program, for example, put the third batch of baking soda into the third volcano, the first batch of vinegar into the second volcano, and so on, all using user created labels. Probably I want to have those labels listed as menu items, rather than requiring the user to type them in anew at each use.
(The purpose of all this? I’m just trying to teach myself OOP. It’s an alien world to me. Remember, before this, my experience was with BASIC in the mid 90’s as a high schooler.) (Also, to be clear, I have no practical purpose for learning this. It’s just for the purpose of, so to speak, “improving the mind.” In other words, I’m just noodling around.) (BTW for all I know this is a terrible kind of task to try to work one’s OOP mojo on. If that’s the case, please let me know, and describe for me what kind of task would better for OOP pedagogy.)
An easy way to do what I described, if you’re not limiting yourself to what’s easy to code would be, of course, to have each object’s name (the variable bound to each object) be whatever the user labeled that object, then when the user uses these labels, the program can take those label-uses and translate them directly and easily into the variable names bound to the relevant objects.
But that is, I gather, not the right way to think of the task for coding purposes.
I am starting to glean (from this thread, and from just thinking about it) that I should be able to use a dictionary centrally for this purpose somehow.
I know this probably seems completely idiotically simple to you guys. And the thing is, I’d rather not have someone just tell me exactly how to do what I’m describing. (It is to avoid this possibility that I refrained from describing the actual task.) But I guess it would be helpful, if someone were kind enough to help, for that person or persons to give me some kind of “pointers,” for example to name and if necessary briefly describe some concept or set of instructions or use of instructions that I might be missing, and that might give me the key to solving the problem I’ve created for myself.
Or if you just want to tell me how to do it, put it in spoiler boxes. 
Or if you think this is something I damn well ought to be able to figure out for myself even as a total beginner, then leave it at that, and after another couple of hours of thinking/coding, I’ll surely have it figured out.
Thanks for the comments on this thread. They’ve been illuminating.
-FrL-