Насколько я знаю, индекс в Python всегда на 1 меньше, чем позиция. Я могу понять, что range(5) выводит 0,1,2,3,4, потому что он всегда начинается с 0. Но тогда почему range(5,10) выводит 5,6,7,8,9, а не начинается с 4?
help(range) сказал бы вам range(start, stop[, step]) -- вы говорите, чтобы он начинался с 5. Просто как тот.
В range(x,y)x — это первое число, которое должно быть произведено, а y — это первое число, которое не будет произведено. То есть от x до y-1. Я предлагаю прочитать некоторую документацию.
Почему этот вопрос отмечен тегом java?






Когда вы вызываете range() с одним аргументом, предполагается, что это конец диапазона, а начало по умолчанию равно 0.
Когда вы вызываете диапазон с двумя аргументами, они используются как начало и конец.
range() перестает считать до конечного значения.
Потому что
range(x,y)покрывает [x, y). Это просто так.