I would like to return two values from a function in two separate variables.
What would you expect it to look like on the calling end? You can't write
a = select_choice(); b = select_choice() because that would call the function twice.
Values aren't returned "in variables"; that's not how Python works. A function returns values (objects). A variable is just a name for a value in a given context. When you call a function and assign the return value somewhere, what you're doing is giving the received value a name in the calling context. The function doesn't put the value "into a variable" for you, the assignment does (never mind that the variable isn't "storage" for the value, but again, just a name).
When i tried to to use
return i, card, it returns a
tuple and this is not what i want.
Actually, it's exactly what you want. All you have to do is take the
tuple apart again.
And i want to be able to use these values separately.
So just grab the values out of the
The easiest way to do this is by unpacking:
a, b = select_choice()