Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我得到索引器:列表索引超出范围_Python_Python 3.x - Fatal编程技术网

Python 我得到索引器:列表索引超出范围

Python 我得到索引器:列表索引超出范围,python,python-3.x,Python,Python 3.x,错误 addGuest中第11行的文件“D:/hotel2.py” 来宾[i]。追加(姓名) 索引器:列表索引超出范围 酒店2.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

错误

addGuest中第11行的文件“D:/hotel2.py” 来宾[i]。追加(姓名) 索引器:列表索引超出范围

酒店2.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

我真正想做的是存储
guestid
guestname
,这样我可以在输入
guestid
时显示
guestname
。但是这个函数不允许我这样做。

对于
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
数据结构,并将客人的姓名作为值。它比使用两个不同的列表来实现相同的目标要有效得多。

对于
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
数据结构,并将客人的姓名作为值。这比使用两个不同的列表来实现同一目标要有效得多。

听起来你需要一本字典……我在这里没有看到任何问题。你有什么特别的要求吗?听起来你需要一本字典…我在这里没有看到任何问题。您是否有特定的要求?或许可以将此词典命名为比
d
更具描述性的名称,例如
guestid2name
。或者将此词典命名为比
d
更具描述性的名称,例如
guestid2name