2

このエラーが発生する理由を誰か教えてもらえますか? コードに問題はありませんが、置き換え**itemName,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
4

3 に答える 3

3

作成することはありませんitem

item = {'Name':Name, 'Start':Start, 'End':End}
Schedule.append(item)
于 2013-08-08T00:53:46.847 に答える
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
于 2013-08-06T17:48:09.860 に答える
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]))

あなたが本当にキーを使うつもりなら。

基本的に、キーの値を指定していないときにキー ({ Name :<10})で値を要求すると、キー エラーが発生します。

それが役立つことを願っています。

于 2013-08-07T21:09:06.237 に答える