0
42 key = easygui.buttonbox(msg="Enter your message. Your current message is", msg,
                           choices=["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
                                    "L", "M", "N", "O", "P",   "Q", "R", "S", "T", "U", 
                                    "V", "W", "X", "Y", "Z", "Space", ".", "I'm Done"])

プログラムにエラーがあります:

SyntaxError: キーワード arg の後の非キーワード arg (C:/Python25/Cipher.py、42 行目)

太字の部分が間違っていると思いますが、どう直せばいいのかわかりません。

4

3 に答える 3

2

これは、こちらで説明されている問題と同じです。引数の配置を変更して修正してください。

于 2013-05-26T16:39:12.813 に答える
2

このドキュメントがまだ最新の場合、msg変数 fortitleが問題を引き起こしている可能性があります http://easygui.sourceforge.net/tutorial/easygui_pydoc.html#-buttonbox

easygui.buttonbox(msg="Enter your message. Your current message is", msg, choices=["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",   "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Space", ".", "I'm Done"])

おそらく次のようになります。

easygui.buttonbox(msg="", title=msg, choices=["..."])

または、これmsgが に追加されることになっていない場合title

easygui.buttonbox(msg="", title="Something", choices=["..."])

Python を正しく覚えていればvariable=、順序を変更したり、前のパラメーターをスキップしたりしない限り、指定する必要はありません。と言うとvariable=、その後のすべてのパラメータに対してそれを言う必要があります。

注: 他のものはそのままにして、タイトル パラメータを修正するだけです。これを読みやすくするために、他のパラメーターをクリアしました。

于 2013-05-26T16:46:32.817 に答える
0

私にとっての問題は、引数を関数に送信する方法の構文を混合したことでした....

これが関数宣言であるとしましょう:

def buttonbox(title="", msg="", choices="")

すべての引数はオプションです

しかし、あなたはそれを次の組み合わせで呼び出しました:

easygui.buttonbox(title="enter your msg", msg, choices="some choices")

で関数を呼び出すように

func(a="",b,c="bla",d,e,f,g="b2") etc ..

したがって、argument=value のいずれかである必要があります。

easygui.buttonbox(title="enter your msg", msg=msg, choices="some choices")

または単に値、値、値:

easygui.buttonbox("enter your msg",msg,"some choices")

これは私のためにそれを解決したものです...多分他の人はそれが役に立つと思うでしょう.

于 2015-03-01T12:11:39.950 に答える