ホームページ  >  記事  >  バックエンド開発  >  Python で文字列から整数を減算すると「TypeError」が発生するのはなぜですか?

Python で文字列から整数を減算すると「TypeError」が発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-19 13:32:29888ブラウズ

Why can subtracting an integer from a string in Python cause a

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。