我想制作一个计算汽油价格的程序,但是我的代码出错了。在
from tkinter import *
root = Tk()
ment = StringVar()
root.geometry('450x450+500+300')
root.title('ბენზმთვლელი')
mlabel2 = Label(root, text='რეგულარი >> '+2.23+ 'GEL').pack()
mlabel3 = Label(root , text = 'ევრო რეგულარი >> '+2.29+' GEL').pack()
mlabel4 = Label(root, text="პრემიუმი >> " + 3.35 + " GEL").pack()
mlabel5 = Label(root, text='დიზელი >> ' + 2.25 + ' GEL').pack()
mlabel6 = Label(root, text='ევრო დიზელი >> '+2.33+' GEL').pack()
mlabel1 = Label(root, text="მიუთითეთ ბენზინის რაოდენობა(ლიტრებში)").pack()
mentry1 = Entry().pack()
mlabel7 = Label(root, text="მიუთითეთ ბენზინის დასახელება(ზემოთ ჩამოთვლილთაგან)").pack()
mentry2 = Entry().pack()
def gamotvla():
if mlabel7 == mlabel3 or mlabel2 or mlabel4 or mlabel5 or mlabel6:
print(mlabel1*mlabel7)
else:
print('რაღაც შეიყვანე შეცდომით!!')
mbutton = Button(root, text='გამოთვლა',fg="red",bg='black', command=gamotvla).pack()
root.mainloop()
错误:
^{pr2}$你能帮我吗?在
让我们看看有问题的那条线,找出其中的一些问题。 下面是一行:
您正在连接一个字符串、一个浮点和另一个字符串。解决这个问题最简单的方法是使用一些字符串格式表达式,比如
^{pr2}$对于Python3代码来说,这是一个很好的解决方案。。。请注意,
{num}
是一个格式化命令,它将被您的float替换。还有其他方法可以处理这个问题,但是由于您使用的是python3,所以我将使用这个方法。另外,因为这个数字在不同的标签上都有变化,所以我把它分开,这样就很容易处理了。在另外,请记住,由于返回None的
.pack()
命令,您的mlabel2在代码中将是None。如果你想保存mlabel2,你必须把语句分成两部分。。。在这对于大多数小部件都是一样的,包括标签、条目和按钮。您的
def gamotvla():
中的if
语句也会给您带来问题,但让我们从这些开始。在这一行足以引起问题:
2.23
是浮点值;'GEL'
是字符串。加上一个算术值和一个字母串意味着什么?在如果需要字符串标签
^{pr2}$'რეგულარი >> 2.23 GEL'
,那么就这样写。如果要从零件构造它,请将值转换为字符串:相关问题 更多 >
编程相关推荐