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

如果此文档仍然是最新的,则您的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=["..."])

或者这个 ifmsg不应该被添加到title.

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

variable=如果我没记错 Python,除非您更改顺序或跳过先前的参数,否则您不需要指定。一旦你说variable=,你需要说它之后的所有参数。

注意:保留所有其他内容,只需更正标题参数即可。我清除了其他参数以使其可读。

于 2013-05-26T16:46:32.817 回答
2

这与此处描述的问题相同。通过更改参数的排列来修复它。

于 2013-05-26T16:39:12.813 回答
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 ..

所以它应该是参数=值:

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 回答