Python TypeError со списками - PullRequest
0 голосов
/ 24 августа 2018

Почему я получаю сообщение об ошибке "Ошибка типа: индексы списка должны быть целыми или кусочками, а не str" ? Но если я изменю значения в списке на целые числа, не будет ли items.remove(items[1]) просто удалить элемент в позиции индекса 1?

def choose_item():
    pick = int(input("Enter what item number you want [1-20]: "))
    store_item(pick)
    while pick < 1 or pick > 20:
        print("Not Valid")
        pick = input("Enter what item number you want [1-20]: ")


def store_item(pick):
    items =['1','1','1','1','1','2','2','2','2','2','3','3','3','3','3','4','4','4','4','4','5','5','5','5','5','5','5','5','5','5','6','6','6','6','6','7','7','7','7','7','8','8','8','8','8','9','9','9','9','9','9','9','9','9','9','10','10','10','10','10','11','11','11','11','11','12','12','12','12','12','13','13','13','13','13','14','14','14','14','14','15','15','15','15','15','16','16','16','16','16','17','17','17','17','17','18','18','18','18','18','19','19','19','19','19','20','20','20','20','20']
    if pick == 1:
        items.remove(items['1'])

choose_item()

1 Ответ

0 голосов
/ 24 августа 2018

Здесь вы используете строку как целое число items.remove (items ['1']), удаление не работает так. Проверьте это Разница между del, remove и pop в списках

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