Python Вывод списка «ошибка списка индекса вне диапазона» при попытке найти значение 1 из списка длиной 6 - PullRequest
1 голос
/ 10 апреля 2020

Я пытаюсь закодировать программу, которая будет принимать список в качестве входных данных. Первое число должно быть указанным диапазоном. Последнее число должно быть максимальным значением. Затем в указанном диапазоне, исключая первое значение, выведите все числа, меньшие или равные максимальному значению. Код здесь:

nums = input().splitlines()

theRange = int(nums[0])
highNum = int(nums[-1])

i = 1
while (i <= theRange) and (i <= len(nums)):
    if int(nums[i]) <= theRange:
        print(nums[i])
    i += 1

После ввода:

5
50
60
140
200
75
100

В результате возникает ошибка:

Traceback (most recent call last):
  File "main.py", line 8, in <module>
    if int(nums[i]) <= theRange:
IndexError: list index out of range

Это не имеет смысла, как * 1010 Переменная * theRange меньше длины nums . Пожалуйста, скажите мне, почему это происходит. Спасибо.

1 Ответ

0 голосов
/ 10 апреля 2020

Списки в Python начинаются с нуля, поэтому вы должны использовать оператор <, а не <=:

while (i < theRange) and (i < len(nums)):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...