这是我的代码功能代码
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
答案 0 :(得分:2)
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
我不能保证它会工作,但是听起来合理,我希望它能工作。
答案 1 :(得分:0)
似乎有几个问题:
您正在获取输入,并尝试将其转换为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
答案 2 :(得分:0)
我建议您在使用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