皮在养 2022-05-12 11:38 采纳率: 100%
浏览 495
已结题

stringvar()转string或者什么方法可以避免这样

li = tk.StringVar()
pre1 = tk.StringVar()
pre2 = tk.StringVar()
su = tk.StringVar()
he = tk.StringVar()

def all(self, li, pre1, pre2, su, he):
    for be in self.sj:
        if float(li) < float(be['li']):
            if float(pre1) < float(be['pre1']):
                if float(pre2) < float(be['pre2']):
                    if float(su) <= float(be['su']):
                        if float(be['he']) >= float(he):
                            duration = 1000  # millisecond
                            freq = 440  # Hz
                            return True, '您的身体健康'

结果
File "D:\py\pythonProject1\db.py", line 23, in all
if float(li) < be['li']:
TypeError: float() argument must be a string or a number, not 'StringVar'

  • 写回答

2条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2022-05-12 12:00
    关注

    a = tk.StringVar()
    print(type(str(a)))
    可以转为str再作处理

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月12日
  • 已采纳回答 5月12日
  • 创建了问题 5月12日