[解決済み] python3 TypeError: 'function' object is not iterable.
2022-01-31 16:25:35
質問
ソースコードにどのような変更が必要ですか?
def Update(): print('\n') print("アップデート") cmd = os.system('xterm -e apt-get update') print("アップデート完了") def AptUpdate(): print('\n') print("システムを更新しますか{Y/N}") print("Yまたはy") print("Nまたはn") code = input("コマンド > ") if code == 'y' または code == 'Y': for i in Update(): return 更新 elif code == 'n' または code == 'N': リターン それ以外の場合 print("Warning!") AptUpdate() 例外が発生します。 トレースバック (最も最近の呼び出し): ファイル "pybash.py", 行 110, in AptUpdate() ファイル "pybash.py", 行 102, in AptUpdate for i in Update: TypeError: 'function' オブジェクトはイテレート可能ではありません。
解決方法は?
トレースバックエラーが指摘しているのは、for文の誤用です。
for i in Updt():
for
Python's for statement iterates over any sequence (a list or a string), in order they appear in the sequence." (source: python 3.3 documentation, section 4: More control structures) Python 3におけるfor文は以下の通りです。
Python 3
関数はリストでも文字列でもないので、formatは使えません。
for [variable] in [function]():
修正すべき点については、この2つの機能が個々に何を達成することになっているかによります。
関連
-
pythonを使ったオフィス自動化コード例
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] Pythonで、あるオブジェクトが反復可能かどうかを判断するにはどうしたらいいですか?
-
[解決済み] 関数内でグローバル変数を使用する
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] メソッドと関数の違いは何ですか?
-
[解決済み] オブジェクトの種類を決定しますか?
-
[解決済み] print関数の出力をフラッシュする(pythonの出力をバッファリング解除する)にはどうすればよいですか?
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
最新
-
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 string splicing.join()とsplitting.split()の説明
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み] データ型が理解できない
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない