[解決済み] Pythonです。辞書が空かどうかのチェックはうまくいかないようです。
2022-03-17 05:43:48
質問
辞書が空かどうかをチェックしようとしているのですが、うまく動作しません。単にスキップして オンライン というメッセージが表示されるだけで、何も表示されません。何か思い当たることはありますか?
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()))
解決方法は?
空白の辞書
に評価する。
False
をPythonで表示します。
>>> dct = {}
>>> bool(dct)
False
>>> not dct
True
>>>
このように、あなたの
isEmpty
関数は不要です。 必要なのは
def onMessage(self, socket, message):
if not self.users:
socket.send("Nobody is online, please use REGISTER command" \
" in order to register into the server")
else:
socket.send("ONLINE " + ' ' .join(self.users.keys()))
関連
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] Pythonの@propertyデコレーターはどのように機能するのでしょうか?
-
[解決済み] Pythonで一定の大きさの空リストを作成する
-
[解決済み] Pythonによる辞書の "拡張"
-
[解決済み] Pythonで辞書の任意の要素にアクセスする
-
[解決済み] Pythonで新しい辞書を作成する
-
[解決済み】Pythonで辞書のキーをリストとして返すには?
-
[解決済み】Python辞書の理解力
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python入門 openを使ったファイルの読み書きの方法
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない