繁体   English   中英

我收到IndexError:列表索引超出范围

[英]I am getting IndexError: list index out of range

错误

在addGuest客人[i] .append(name)IndexError:列表索引超出范围时,文件“ D:/hotel2.py”第11行

hotel2.py

def addGuest():
    i = 0
    j = 0
    global guestid
    name = input("Please enter guest name:\n")
    guests[i].append(name)
    guests[j].append(guestid)
    print("Guest %s has been created with guest ID: %d" % (guests[i], guests[j]))
    i += 1
    j += 1
    guestid += 1

我真正想要做的是存储guestidguestname中,我可以显示的方式guestname ,当我进入guestid 但是此功能不允许我这样做。

最好将字典用于key:value对,而不要使用两个列表:

guestid2name = {}

def addGuest():
    name = raw_input('enter guest name:\n')
    global guestid
    guestid2name[guestid] = name
    print("Guest %s has been created with guest ID: %d" % (name, guestid))

这将创建以访客的名字为值的guestid的guestid2name数据结构。 它比使用两个不同的列表来完成同一件事要高效得多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM