TypeError: Python で互換性のないオペランドの型
Python で文字列から整数を減算しようとすると、「TypeError」例外が発生します。 「'str' と 'int'」というメッセージが表示される場合があります。この問題は、算術演算で混合データ型を扱うときに発生します。
次のコードを考えてみましょう:
<code class="python">def cat_n_times(s, n): while s != 0: print(n) s = s - 1</code>
このコードが実行されると、「TypeError」がスローされます。これは、ユーザーから文字列として受け取られる変数「s」を、行「s = s - 1」の整数「n」から減算できないためです。
この問題を解決するには、次のようにします。算術演算に含まれるデータ型間の互換性を確保する必要があります。この特定のケースでは、数値演算を実行する前に、「int()」関数を使用して「s」変数を整数に変換できます。
さらに、より Python 的なアプローチを使用してコードを再構築することを検討してください。インデックスを手動で追跡する代わりに、反復に「for」ループを使用できます。
<code class="python">def cat_n_times(s, n): for i in range(n): print(s)</code>
このアプローチにより、コードが明確になり、簡素化されます。
以上がPython で文字列から整数を減算すると「TypeError」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。