Open Ads20000 opened 7 years ago
Thanks for opening this Issue!
I understand why it is confusing, it also took me some time to understand why this produces an error. Your highest rank needs to be 1
. I understand that you could also start with 2
or 6
or whatever and still produce a valid ranking, but the code insists starting at 1
. The code also insists on having consecutive numbers, 2, 1
works but 3, 1
doesn't work. I know that 3, 1
is a valid ranking in the sense that 3
is greater than 1
but the code is very strict.
1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
is correct because your highest ranked candidate uses a 1
.
6, 7, 8, 9, 10, 2, 11, 12, 0, 0, 0, 0, 0, 0, 0
produces an error because your lowest number is 6
and not 1
. A correct alternative where the ranking stays the same would be:
2, 3, 4, 5, 6, 1, 7, 8, 0, 0, 0, 0, 0, 0, 0
I hope this clears things up, feel free to ask more. Do you think it should be allowed to enter 6, 7, 8, 9, 10, 2, 11, 12, 0, 0, 0, 0, 0, 0, 0
or do you agree that the current super strict version is clearer? Or should the error message/description be changed?
Edit: Wait ignore all that! I think I get it with your answer to #5 . The places on the ballot are given numbered ranks, that makes more sense. I'm guessing a better GUI could be made for this, but yeah that works for text entry. In the absence of a better GUI perhaps the text entry should be better explained?
I agree with the super strict version, it's forced me to realize how I was doing things wrong.
This answer helped me locate the problem with our fifth ballot, which read 1, , ,4,3, , , . I hadn't noticed among all the other lines that this line missed a ranking. I thought the correction would probably read 1, , ,3,2, , , - but actually we had missed a candidate selection! The corrected line read 1, , ,4,3,2, , , and then the IRV proceeded without hiccup. : )
I've ticked the box for allowing incomplete ballots, I've put the ballots in as follows (there are 15 candidates)
But get the error
In Ballot #2 one or more numbers are left out.
Why?