It's a workplace situation, and I think it's appropriate to say:
"I've asked four times what 2+2 is, and you've told me several stories about addition but haven't answered the question. Is there some reason you're not able to tell me what 2+2 is?"
In a party, perhaps not.
I've often phrased it as:
"I've asked four times what 2+2 is, and I still don't have an answer to that question. I'm afraid I cannot proceed with X until I know the answer to that question."
Often, though, I've found that simply putting the burden on the other party unblocks them. It shifts their mindset from "I need to answer a question" (which they think they did) to "I need to solve this problem" (which they realize they haven't).
It's absolutely appropriate in the workplace. I'm not going to be mean or snide, but if I'm asking you a reasonable question and you're not answering it, I'm going to be increasingly direct. If I need information from you to do my job, and you're withholding it from me, then you're the one acting inappropriately.
> but if I'm asking you a reasonable question and you're not answering it, I'm going to be increasingly direct.
And herein lies the flaw in your approach. It's reasonable to be annoyed that you're not getting the answer, but it doesn't mean your approach is helping you get there. It's the equivalent of "If someone doesn't understand me, I'm going to shout even louder" or "I'm going to use the same words, but speak even slower".
There's no good reason to think that more directness is more effective.
"I've asked four times what 2+2 is, and you've told me several stories about addition but haven't answered the question. Is there some reason you're not able to tell me what 2+2 is?"
In a party, perhaps not.
I've often phrased it as:
"I've asked four times what 2+2 is, and I still don't have an answer to that question. I'm afraid I cannot proceed with X until I know the answer to that question."
Often, though, I've found that simply putting the burden on the other party unblocks them. It shifts their mindset from "I need to answer a question" (which they think they did) to "I need to solve this problem" (which they realize they haven't).
"We need X. Can you sort it out?"