Python新手求助:Tkinter年龄计算器程序输出None问题
解决Tkinter年龄计算器输出None或格式错误的问题
问题根源
最初输出None的原因
你在age函数里写了age_input= print('Your age is :'), entryint.get(),print()函数的返回值是None,所以这个表达式生成的是一个元组(None, 输入的年龄数值),将这个元组传给output_string.set()后,就会把None跟着年龄一起显示出来。修改后格式错误的原因
改成age_input= ' your age is ' , entryint.get()后,这是创建了一个包含字符串和整数的元组,set()方法会把元组直接转成字符串,所以显示成类似(' your age is ', 25)的格式,不符合预期的连贯文本。
修复方案
把字符串和年龄值拼接成一个完整的字符串即可,两种常用方式:
方式1:使用f-string(推荐)
def age(): age_input = f'Your age is: {entryint.get()}' output_string.set(age_input)
方式2:字符串拼接+类型转换
def age(): age_input = 'Your age is: ' + str(entryint.get()) output_string.set(age_input)
效果说明
两种方式都会生成类似Your age is: 25的完整字符串,设置到output_string后,Label就能正确显示格式化后的年龄文本。
内容的提问来源于stack exchange,提问作者Vu Phuc
相关产品推荐
相关产品推荐

