Как распечатать указанный элемент c из списка, используя переменную? - PullRequest
0 голосов
/ 14 января 2020

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

while myNumOfTypes > 0:
    print(allNames[myNumOfTypes], "will be using", allTypes[myNumOfTypes])
    myNumOfTypes = myNumOfTypes - 1

Я получаю ошибку вне диапазона, и я не знаю, как ее исправить. Кроме того, я знаю, что использование for для l oop, скорее всего, справится с этой задачей лучше, но я никогда не учился для циклов. Если вы поможете мне использовать также для l oop, это было бы здорово, но не главное. allNames и allTypes оба являются списком, allTypes имеет 18 элементов, а allNames имеет где-то от 1 до 18, и я хочу, чтобы показанные результаты имели ту же сумму, что и allNames, что было ранее определено myNumOfTypes, поэтому в [] это myNumOfTypes, так как l oop будет вычитать 1 каждый раз и показывать следующий результат, который, очевидно, не сработал, и поэтому я озадачен

Если для пояснения требуется больше кода, я ' буду рад предоставить его

* Редактировать: После осознания моей ошибки, благодаря комментариям и ответам, я понял, что допустил еще одну ошибку в другом месте кода, где список allNames фактически является списком, с одним списком внутри со всеми именами

1 Ответ

0 голосов
/ 14 января 2020

Если вам нужно распечатать списки с конца (в обратном порядке), вы можете сделать это:

for i in range(myNumOfTypes - 1, 0, -1):
    print(allNames[i], "will be using", allTypes[i])

Но если обычный порядок в порядке, то это можно сделать так:

for i in range(myNumOfTypes):
    print(allNames[i], "will be using", allTypes[i])

Я думаю, возможно, вы получаете ошибку, потому что длина списков равна myNumOfTypes, и, следовательно, когда вы получаете доступ к allNames[myNumOfTypes], это выходит за пределы диапазона (списки начинаются с 0 до len - 1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...