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

Mary-Kate Olsen
Freigeben: 2024-10-19 13:35:02
Original
634 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage