【发布时间】:2023-04-06 13:36:02
【问题描述】:
我正在尝试检查字典是否为空,但它的行为不正常。它只是跳过它并显示 ONLINE 除了显示消息之外没有任何内容。任何想法为什么?
def isEmpty(self, dictionary):
for element in dictionary:
if element:
return True
return False
def onMessage(self, socket, message):
if self.isEmpty(self.users) == False:
socket.send("Nobody is online, please use REGISTER command" \
" in order to register into the server")
else:
socket.send("ONLINE " + ' ' .join(self.users.keys()))
【问题讨论】:
-
要检查
self.users是否为非空,只需执行if self.users。 -
你的
isEmpty实际上返回True如果从字典产生的第一个键是truey,否则返回False。如果字典为空,则返回None,它不是== False。 -
你的 if 语句是倒退的。
标签: python dictionary