Это для моего кода кода функции

def edit():
    i()
    indeks = input(" masukan hobi ke :")
    if int(indeks)>len(hobi):
        print("data tidak ada ")
    elif int (indeks) <= len(hobi):
        hobibaru=input("hobi baru :)
        hobi[indeks]=hobibaru

Это моя ошибка комм

Трассировка (последний вызов был последним): файл "C: \ Users \ murtadho \ AppData \ Local \ Programs \ Python \ Python37 \ x.py", строка 74, в файле show_menu () "C: \ Users \ murtadho \ AppData \" Local \ Programs \ Python \ Python37 \ x.py ", строка 62, в файле show_menu edit_data ()" C: \ Users \ murtadho \ AppData \ Local \ Programs \ Python \ Python37 \ x.py ", строка 33, в edit_data buku [indeks] = judul_baru TypeError: списочные индексы должны быть целыми или кусочками, а не str

-1
daffa faiz 25 Июн 2019 в 05:43

3 ответа

Лучший ответ

IIUC попробуйте:

def edit():
    i()
    indeks = input(" masukan hobi ke :")
    if int(indeks)>len(hobi):
        print("data tidak ada ")
    elif int (indeks) <= len(hobi):
        hobibaru=input("hobi baru :")
        hobi[int(indeks)]=hobibaru

Я не могу гарантировать, что это будет работать, но это звучит разумно, и я ожидаю, что это будет работать.

2
U10-Forward 25 Июн 2019 в 02:52

Кажется, есть несколько проблем:

Вы получаете ввод и пытаетесь ввести его в int. Хотя вы можете быть уверены, что это целое число, оно может привести к проблемам, если строка вставлена.

def edit():
    i()
    indeks = input(" masukan hobi ke :")
    try:
        indeks = int(indeks)
    except:
        break
    if indeks >len(hobi):
        print("data tidak ada ")
    elif indeks <= len(hobi):
        hobibaru=input("hobi baru :")
        hobi[indeks]=hobibaru
0
user1449249 25 Июн 2019 в 03:07

Я предлагаю вам вернуть свои данные indeks в int перед началом работы с list

def edit():
    i()
    indeks = int(input(" masukan hobi ke :"))
    if indeks>len(hobi):
        print("data tidak ada ")
    elif indeks <= len(hobi):
        hobibaru=input("hobi baru :)
        hobi[indeks]=hobibaru
0
Lê Tư Thành 25 Июн 2019 в 03:30