Ich versuche zu überprüfen, ob ein Wörterbuch leer ist, aber es verhält sich nicht richtig. Es überspringt es einfach und zeigt ONLINE an, ohne die Nachricht anzuzeigen. Irgendwelche Ideen warum?
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()))
isEmpty
kehren tatsächlich zurück, True
wenn der erste aus dem Wörterbuch ermittelte Schlüssel wahr ist, und geben False
andernfalls zurück. Wenn das Wörterbuch leer ist, wird zurückgegeben, None
was nicht der Fall ist == False
.
self.users
nicht leer ist, tun Sie es einfachif self.users
.