ホームページ > バックエンド開発 > Python チュートリアル > Python で異なるデータ型を減算する際の型エラーを解決するには?

Python で異なるデータ型を減算する際の型エラーを解決するには?

Mary-Kate Olsen
リリース: 2024-10-19 13:37:29
オリジナル
989 人が閲覧しました

How to Resolve Type Errors When Subtracting Different Data Types in Python?

TypeError: Unsupported Operand Types for Subtraction

Python では、減算演算子は数値や文字列などの互換性のある型間でのみ使用できます。ただし、整数から文字列を減算しようとすると、エラーが発生します。

元のコード:

<code class="python">def cat_n_times(s, n):
    while s != 0:
        print(n)
        s = s - 1

text = input("What would you like the computer to repeat back to you: ")
num = input("How many times: ")

cat_n_times(num, text)</code>
ログイン後にコピー

エラー:

TypeError: unsupported operand type(s) for -: 'str' and 'int'
ログイン後にコピー

説明:

プログラムの入力である text と num は、どちらも input を使用して受け取った文字列です。ただし、関数 cat_n_times は文字列 (テキスト) から整数 (s) を減算しようとします。その結果、型エラーが発生します。

解決策:

1 。入力を整数に変換:

解決策の 1 つは、int():

<code class="python">num = int(input("How many times: "))</code>
ログイン後にコピー

2 を使用して文字列 num を整数に変換することです。改良された関数設計:

あるいは、より優れた関数設計では、手動インデックス追跡の代わりに for ループを使用します:

<code class="python">def cat_n_times(s, n):
    for i in range(n):
        print(s) 

text = input("What would you like the computer to repeat back to you: ")
num = int(input("How many times: "))

cat_n_times(text, num)</code>
ログイン後にコピー

このバージョンでは、関数の意図がより明確に伝わり、ループ内で使用する前に num を整数に変換することでエラーを排除します。

以上がPython で異なるデータ型を減算する際の型エラーを解決するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート