如何在python中的嵌套列表中添加项?从用户输入

2024-05-15 00:11:57 发布

您现在位置:Python中文网/ 问答频道 /正文

输入第一个嵌套列表后,出现错误-“IndexError:列表索引超出范围”

def add_hotel(name,n,ac,fb,tv,wifi,budget):
                room=[[]]
                room[2][1]=name

                if(n>0):
                    for i in range(2,n+2):
                                room[i][1]=1
                                if(ac=="y" or"Y"):
                                    room[i][2]="Air Conditioning"

                                else:
                                    room[i][2]="No Air Conditioning"
                                if(fb=="y" or "Y" ):
                                    room[i][3]="Free Breakfast"
                                else:
                                    room[i][3]="Free Breakfast Not Available"
                                if(tv=="y" or "Y"):
                                    room[i][4]="TV Available"
                                else:
                                    room[i][4]="No TV"
                                if(wifi=="y" or "Y"):
                                    room[i][5]="Wifi"
                                else: 
                                    room[i][5]="No Wifi"

                                room[i][5]=budget
                                print(room)
                print(room)

这里n是房间的数量,我从索引2中初始化它,因为我有两个预先定义的列表实体。 我希望我的输出如下所示-(n=2)

[[hayat,1,"No Air Conditioning","Free Breakfast Not available","No TV","Wifi",30],[hayat,2,"No Air Conditioning","Free Breakfast Not available","TV available","Wifi",50]]

Tags: ornonamefree列表ifnotair
1条回答
网友
1楼 · 发布于 2024-05-15 00:11:57

您正在使用

room[i][2]="Air Conditioning"

但是在{}列表中没有位置{}

怎么办

您应该使用函数listname.append(val)

room[i].append("Air Conditioning")

您的代码将变为

def add_hotel(name,n,ac,fb,tv,wifi,budget):
                room=[]
                room_tmp=[name]

                if(n>0):
                    for i in range(2,n+2):




                                room_tmp.append(1)
                                if(ac=="y" or"Y"):
                                    room_tmp.append("Air Conditioning")

                                else:
                                    room_tmp.append("No Air Conditioning")
                                if(fb=="y" or "Y" ):
                                    room_tmp.append("Free Breakfast")
                                else:
                                    room_tmp.append("Free Breakfast Not Available")
                                if(tv=="y" or "Y"):
                                    room_tmp.append("TV Available")
                                else:
                                    room_tmp.append("No TV")
                                if(wifi=="y" or "Y"):
                                    room_tmp.append("Wifi")
                                else: 
                                    room_tmp.append("No Wifi")

                                room_tmp.append(budget)
                                room.append(room_tmp)
                                print(room)
                print(room)

我不知道你在做什么你的答案会是这样的

相关问题 更多 >

    热门问题