easygui.msgbox ('You enter ' + flavor) TypeError: 必须是 str, not NoneType


import easygui
flavour = easygui.enterbox('What is your favourite ice cream flavour?')
easygui.msgbox ('You entered ' + flavour)

我在这里做什么,以便当我点击"输入"框上的"取消"按钮时,它不会返回错误?目前我收到以下错误:"easygui.msgbox ('You into ' + flavor(类型错误:必须是 str,而不是 NoneType">

这将做到这一点

import easygui
while True:
flavour = easygui.enterbox('What is your favourite ice cream flavour?(type quit to quit)')
a = bool(flavour)
if a == False:
    easygui.msgbox('you did not enter something')
elif a == True:
    if flavour == 'quit':
        break
    else:
        easygui.msgbox ('You entered ' + flavour)

(我可以让程序变得更好,但越来越大(

正在发生的事情是msgbox希望消息是字符串。但是,如果单击取消,则flavour是一个NoneType对象。您可以添加 if 语句,以确保在点击取消时代码不会出错。执行以下操作:

flavour = easygui.enterbox('What is your favourite ice cream flavour?')
if flavour is not None:
    easygui.msgbox ('You entered ' + str(flavour))
else:
    pass

相关内容

最新更新