Heim  >  Artikel  >  Backend-Entwicklung  >  Wie behebe ich den Fehler „TypeError: Nicht unterstützte Operandentypen für -: \'str\' und \'int\'\“ in Python?

Wie behebe ich den Fehler „TypeError: Nicht unterstützte Operandentypen für -: \'str\' und \'int\'\“ in Python?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-19 13:35:02539Durchsuche

How to Resolve

TypeError: Nicht unterstützte Operandentypen für die Subtraktion

Wenn der Fehler „TypeError: nicht unterstützte Operandentypen für -: 'str'“ auftritt und 'int'" bedeutet dies, dass versucht wurde, zwei inkompatible Operanden zu subtrahieren, normalerweise eine Zeichenfolge und eine Ganzzahl.

In diesem Fall zeigt der bereitgestellte Python-Code diesen Fehler:

<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>

Der Fehler entsteht durch den Versuch, die Variable s (der das Ergebnis der Eingabe zugewiesen ist) um 1 zu subtrahieren. Die Eingabe gibt jedoch eine Zeichenfolge zurück und Python kann keine Subtraktion für Zeichenfolgen und ganze Zahlen durchführen.

Um dieses Problem zu beheben Konvertieren Sie num direkt nach Erhalt der Eingabe mit int(num) in eine Ganzzahl:

<code class="python">num = int(input("How many times: "))</code>

Zusätzlich könnte der Code mithilfe einer for-Schleife vereinfacht werden:

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

Dieser überarbeitete Code akzeptiert eine Zeichenfolge für Text und eine Ganzzahl für Num, um sicherzustellen, dass die Subtraktionsoperation korrekt ausgeführt wird.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „TypeError: Nicht unterstützte Operandentypen für -: \'str\' und \'int\'\“ in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn