1

这是我正在使用的代码的一部分 - 下面详细介绍了问题。我正在 Mint Linux Nadia 上使用 Python 3.2 和 tkinter 创建一个简单的储蓄计算器。欢迎咨询!谢谢汤姆

    Button(self,
           text = "Click for savings calculations",
           command = self.show_result
           ).grid(row = 6, column = 0, sticky = W)

    self.result_txt = Text(self, width = 75, height = 10, wrap = WORD)
    self.result_txt.grid(row = 7, column = 0, columnspan = 4)

def show_result(self):

    curacct = int(self.curacct_ent.get())

    isa = int(self.isa_ent.get())

    av = int(self.av_ent.get())
    avu = int(self.avu_ent.get())

    a = int(curacct + isa)
    b = int(av*avu)



    result = "Your savings total is £", (a)
    result += "and the A shares are worth £", (b)
    result += "Your total savings is £", (a+b)





    self.result_txt.delete(0.0, END)
    self.result_txt.insert(0.0, result)

# main
root = Tk()
root.title("Savings Calculator")
app = Application(root)
root.mainloop()

当我运行程序时,文本打印得很好,但是文本周围包含花括号:{您的储蓄总额为 £} 10 {A 股价值 £} 25 {您的总储蓄总额为 £} 35

我不明白为什么会有花括号,但我希望它们消失。有谁知道我该怎么做?顺便说一句,我只是一个学习 python 的爱好者,到目前为止我很喜欢它。我只包含了我认为相关的代码部分。

4

1 回答 1

1

result = "Your savings total is £", (a)

您正在创建一个 2 元素元组(“您的储蓄总额为 £”,a)。

然后使用 += 运算符向元组添加新元素。

result_txt.insert期望一个字符串作为第二个参数,而不是一个元组(docs),所以你想使用字符串格式来代替:

result = ("Your savings total is £{} "
          "and the A shares are worth £{} "
          "Your total savings is £{}").format(a, b, a+b)

(参见Python 文档解释format

于 2013-01-24T21:17:51.587 回答