在Python的文本中显示的卷曲括号

时间:2013-01-24 21:12:05

标签: python python-3.x

这是我正在使用的代码的一部分 - 问题详述如下。我正在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的爱好者。我只包含了我认为相关的代码部分。

1 个答案:

答案 0 :(得分: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 docs解释format