2014-08-29 57 views
-1

我的代码是在这里:我怎样才能解决这个错误:类型错误:不支持的操作数类型(S)为/:“海峡”和“廉政”(这是一个小费计算器)

import sys 
from tkinter import * 
def mhello(): 
    text1 = total 
    mlabel1 = Label(text=text1, fg ="red") 
    mlabel1.pack() 
    return 
dog = Tk() 
input0 = StringVar() 
input1 = StringVar() 
input2 = StringVar() 
dog.geometry('450x450') 
dog.title("Tip Calculator") 
mlabel = Label(text='This is a Simple Tip Calculator', fg ="red") 
mlabel.pack() 
mentry = Entry(dog, textvariable=input0) 
mentry.pack() 
mentry0 = Entry(dog, textvariable=input1) 
mentry0.pack() 
mentry1 = Entry(dog, textvariable=input2) 
mentry1.pack() 
meal = input0.get() 
tax = input1.get() 
tip = input2.get() 
tip = tip/100 
tax = tax/100 
meal = meal + meal * tax 
total = meal + meal * tip 
mbutton = Button(text='Calculate',command = mhello) 
mbutton.pack() 

dog.mainloop() 
+1

提示:

meal = input0.get() tax = input1.get() tip = input2.get() 

应改为你这是什么想'StringVar'是为了? – 2014-08-29 22:51:55

+0

请直接询问代码 – Coconop 2014-08-29 22:54:06

+0

@heltonbiker之前,请展示一些研究工作量:是的,因为OP刚刚发布了一个链接到Google Docs文档的链接,而此网站旨在提供自包含的问题和解答(否则它很容易过时)。我打破了什么? – Tadeck 2014-08-29 22:55:38

回答

0

Input.get ()返回字符串,你必须将它转换为float:float(Input0.get())

+0

感谢这就是我需要的 – 2014-08-29 23:17:21

+0

Nvm现在我得到这个错误:ValueError:无法将字符串转换为float: – 2014-08-29 23:23:30

0

你不能用整数分割字符串。相反,先将其转换为intfloat,这取决于你的目标:

>>> '120'/100 

Traceback (most recent call last): 
    File "<pyshell#8>", line 1, in <module> 
    '120'/100 
TypeError: unsupported operand type(s) for /: 'str' and 'int' 
>>> int('120')/100 
1 
>>> float('120')/100 
1.2 

你的情况,这片:

meal = float(input0.get()) 
tax = float(input1.get()) 
tip = float(input2.get()) 
+0

哦好吧我正在尝试获取输入,然后将其转换为浮点数,但仍然有错误,这是我需要的谢谢。 :) – 2014-08-29 23:16:35

+0

Nvm我现在得到这个错误:ValueError:无法将字符串转换为浮点数: – 2014-08-29 23:22:46

相关问题