Suppose I have a function called generator that returns a 4-tuple with randomly selected values ββin certain predefined ranges. Let's say that the tuple has the form (age, sex, location, marital_status) :
age is in range(5, 85) sex is a member of the set {"m", "f"} location is a member of the set of all the cities in California marital_status is a member of {"married", "single", "separated"}
On the other hand, let's say I defined 20 different functions with the following definitions:
def p1 (age, sex, location, marital_status) def p2 (age, sex, location, marital_status) . .
where p1 should receive parameters with values ββof the following form:
`age` must be in the range 20 to 45 `sex` must be male `location` could be any city in Southern California `marital_status` could be either single or married
and imagine a different set of values ββfor p2 up to p20 .
What is a pragmatic way to determine which set of generated values ββcorresponds to which function?
In this case, all definitions where exactly the same, but I can provide examples where there may be slight differences in definitions, for example p18 may be def p1 (age, location) with specific restrictions on the range of possibilities for age and location .
PS Patterns are not necessarily mutually exclusive, that is, a set of generated values ββmay also correspond to more than one function.