Post History
I may be wrong, but when I saw this I immediately thought of Python's range, where the number used is the stop number - i.e., stop before you get to that number. That also fits well with the way lo...
Answer
#2: Post edited
- I may be wrong, but when I saw this I immediately thought of [Python's range](https://docs.python.org/3/library/functions.html#func-range), where the number used is the **stop** number - i.e., stop before you get to that number. That also fits well with the way loops are typically structured in many other computer languages. So from a programming standpoint, this makes perfect sense.
- However, unless (and arguably, even if) your readers are computer programmers, the expectation will be that **pages x - y** means all pages with numbers >= x and <= y. In addition to examples provided by others, the obvious example to me of why it must be that way is the last page of the book. If a book has 100 pages numbered 1 - 100, and you are referencing information on the last 2 pages, the reference will be 99-100. Referencing 99-101 would clearly not make sense since 101 does not exist. Using Python notation, the reference would be `range(99,101)` but it is a lot simpler to say 99-100.
- In fact, a program to *extract* or otherwise process the pages might be something like `extract_pages(x, y)` and internally reference `range(x, y+1)`, so that the user of the function would pass the actual first & last page numbers.
There are good reasons why `range` and similar programming constructs use a **stop** value rather than a **last** value, but those are computer science discussions and not really relevant here.
- I may be wrong, but when I saw this I immediately thought of [Python's range](https://docs.python.org/3/library/functions.html#func-range), where the number used is the **stop** number - i.e., stop before you get to that number. That also fits well with the way loops are typically structured in many other computer languages. So from a programming standpoint, this makes perfect sense.
- However, unless (and arguably, even if) your readers are computer programmers, the expectation will be that **pages x - y** means all pages with numbers >= x and <= y. In addition to examples provided by others, the obvious example to me of why it must be that way is the last page of the book. If a book has 100 pages numbered 1 - 100, and you are referencing information on the last 2 pages, the reference will be 99-100. Referencing 99-101 would clearly not make sense since 101 does not exist. Using Python notation, the reference would be `range(99,101)` but it is a lot simpler to say 99-100.
- In fact, a program to *extract* or otherwise process the pages might be something like `extract_pages(x, y)` and internally reference `range(x, y+1)`, so that the user of the function would pass the actual first & last page numbers.
- There are good reasons why `range` and similar programming constructs use a **stop** (termination condition) value rather than a **last** value, but those are computer science discussions and not really relevant here.
#1: Initial revision
I may be wrong, but when I saw this I immediately thought of [Python's range](https://docs.python.org/3/library/functions.html#func-range), where the number used is the **stop** number - i.e., stop before you get to that number. That also fits well with the way loops are typically structured in many other computer languages. So from a programming standpoint, this makes perfect sense. However, unless (and arguably, even if) your readers are computer programmers, the expectation will be that **pages x - y** means all pages with numbers >= x and <= y. In addition to examples provided by others, the obvious example to me of why it must be that way is the last page of the book. If a book has 100 pages numbered 1 - 100, and you are referencing information on the last 2 pages, the reference will be 99-100. Referencing 99-101 would clearly not make sense since 101 does not exist. Using Python notation, the reference would be `range(99,101)` but it is a lot simpler to say 99-100. In fact, a program to *extract* or otherwise process the pages might be something like `extract_pages(x, y)` and internally reference `range(x, y+1)`, so that the user of the function would pass the actual first & last page numbers. There are good reasons why `range` and similar programming constructs use a **stop** value rather than a **last** value, but those are computer science discussions and not really relevant here.