python等待用户输入_Tkinter制作程序等待用户输入

该程序是一个用Python的Tkinter库编写的BMI(身体质量指数)计算器。用户输入身高和体重,程序会计算并显示BMI值以及相应的健康状况(如正常、超重、肥胖或偏瘦)。程序在启动时会预填充一些默认值,但用户可以在计算前更改。点击'Calculate BMI'按钮触发计算过程。
摘要由CSDN通过智能技术生成

我有一个程序,计算一个人的体重指数后,用户给出他的身高和体重。在

我使用variable.insert()插入一个值,这样程序就不会出错。在

有没有办法让程序“空”启动而不出错?基本上,我需要它不做任何事情,直到计算按钮被按下。在from Tkinter import *

class App(Tk):

def __init__(self):

Tk.__init__(self)

self.height()

self.weigh()

self.output()

self.calculate()

def height(self):

Label(self, text = "Enter Height, feet").grid()

self.feet = Entry(self)

self.feet.grid(row = 0, column = 1)

self.feet.insert(0, "1")

Label(self, text = "Enter Height, inches").grid(row = 1, column = 0)

self.inches = Entry(self)

self.inches.grid(row = 1, column = 1)

self.inches.insert(0, "1")

def weigh(self):

Label(self, text = "Enter Weight").grid(row =2, column = 0)

self.weight = Entry(self)

self.weight.grid(row = 2, column = 1)

self.weight.insert(0, "1")

def output(self):

self.calcBMI = Button(self, text = "Calculate BMI")

self.calcBMI.grid(row = 6, columnspan = 2)

self.calcBMI["command"] = self.calculate

Label(self, text = "Body Mass Index").grid(row = 4, column = 0)

self.lblbmi = Label(self, bg = "#fff", anchor = "w", relief = "groove")

self.lblbmi.grid(row = 4, column = 1, sticky = "we")

Label(self, text = "Status").grid(row = 5, column = 0)

self.lblstat = Label(self, bg = "#fff", anchor = "w", relief = "groove")

self.lblstat.grid(row = 5, column = 1, sticky = "we")

def calculate(self):

ft = int(self.feet.get())

inch = int(self.inches.get())

ht = ft * 12 + inch

wt = int(self.weight.get())

bmi = (wt * 703) / (ht ** 2)

self.lblbmi["text"] = "%.2f" % bmi

if bmi > 30:

self.lblstat["text"] = "Obese"

elif bmi > 25:

self.lblstat["text"] = "Overweight"

elif bmi > 18.5:

self.lblstat["text"] = "Normal"

else:

self.lblstat["text"] = "Underweight"

def main():

app = App()

app.mainloop()

if __name__ == "__main__":

main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值