有谁能告诉我为什么会收到此错误?我发现代码没有问题,当我用**item
替换Name,Start,End
时,我仍然无法让它工作
print("To finish input enter nothing.")
Schedule = []
Finish = False
while not Finish:
Name = input("What is the name of the show?: ")
Start = input("What time does the show start?: ")
End = input("What time does the show end?: ")
Schedule.append({'Name':Name, 'Start':Start, 'End':End})
print("{0:<10} | {1:<10} - {2:<10}".format(Name,Start,End))
print("{Name:<10} | {Start:<10} - {End:<10} ".format(**item))
if len(Name) == 0 or len(Start) == 0 or len(End) == 0:
Finish = True
答案 0 :(得分:2)
您永远不会创建item
。
item = {'Name':Name, 'Start':Start, 'End':End}
Schedule.append(item)
答案 1 :(得分:0)
试试这个:
print("To finish input enter nothing.")
Schedule = []
Finish = False
while not Finish:
Name = raw_input("What is the name of the show?: ")
Start = raw_input("What time does the show start?: ")
End = raw_input("What time does the show end?: ")
Schedule.append({'Name':Name, 'Start':Start, 'End':End})
print("{0:<10} | {1:<10} - {2:<10}".format (Name,Start,End))
print("{Name:<10} | {Start:<10} - {End:<10} ".format (**item))
if len(Name) == 0 or len(Start) == 0 or len(End) == 0:
Finish = True
答案 2 :(得分:0)
print("{Name:<10} | {Start:<10} - {End:<10} ".format(**item))
除了你没有定义项目之外,这段代码对我来说没问题吗?
假设该项目是某种类型的容器(如Name,Start,End),您需要将此行更改为以下内容:
print("{:<10} | {:<10} - {:<10} ".format(**item))
因此您不使用密钥,它可以按顺序填充字段。 或者:
print("{Name:<10} | {Start:<10} - {End:<10} ".format(Name=item[0],
Start=item[1],
End=item[2]))
如果你真的打算使用密钥。
基本上,当您没有为该密钥提供值时,您的密钥错误来自使用密钥({名称:&lt; 10})请求值。
希望有所帮助。