The following concept works in the C and C++ languages, you assign the result of a function to a variable and then use the newly assigned variable as the condition for the while loop. So using the comma operator.
A sample bit of C++ code looks like this. I've mocked the behavior of a function call by doing an assignment from an array. In my real situation the function only provides the value once and I want to use it as the condition but also in the while body loop. There isn't another end condition available to me.
#include <iostream>
int main(){
int vals[] = {1, 2, 3, 4};
int var = 0;
int i=0;
while(var = vals[i], var != 3){ // vals mocks the function
std::cout << var << std::endl; // mock usage of value stored in var
i++;
}
}
What would be a pythonic way to take the results of my function call, use it as a conditional in my loop and use it in my loop body? In other languages the do-while loop could solve this problem but python doesn't have it.