With four current candidates ("M", "G", "Y" and "W") and three choices (1st, 2nd and 3rd) there are 24 ways to vote all three, 12 ways to vote 1st and 2nd and skip 3rd, and four ways to vote for only 1st.
I'll ignore voting only for 2nd and/or 3rd and skipping first and/or second.
What are the guidelines for the voting strategy here?
- Are there any benefits for voting for any less than all three choices (1st, 2nd and 3rd)?
- Does the voting robot let us get away with checking any less than all three?
from itertools import permutations for n in range(3, 0, -1): options = list(permutations('MGYW', n)) options = [''.join(option) for option in options] print(n, len(options), options) print('')
(3, 24, ['MGY', 'MGW', 'MYG', 'MYW', 'MWG', 'MWY', 'GMY', 'GMW', 'GYM', 'GYW', 'GWM', 'GWY', 'YMG', 'YMW', 'YGM', 'YGW', 'YWM', 'YWG', 'WMG', 'WMY', 'WGM', 'WGY', 'WYM', 'WYG']) (2, 12, ['MG', 'MY', 'MW', 'GM', 'GY', 'GW', 'YM', 'YG', 'YW', 'WM', 'WG', 'WY']) (1, 4, ['M', 'G', 'Y', 'W'])