Wie behebe ich Typfehler beim Subtrahieren verschiedener Datentypen in Python?

Mary-Kate Olsen
Freigeben: 2024-10-19 13:37:29
Original
896 Leute haben es durchsucht

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

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

In Python können Subtraktionsoperatoren nur zwischen kompatiblen Typen wie Zahlen oder Zeichenfolgen verwendet werden. Beim Versuch, eine Zeichenfolge von einer Ganzzahl zu subtrahieren, tritt jedoch ein Fehler auf.

Originalcode:

<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

Fehler:

TypeError: unsupported operand type(s) for -: 'str' and 'int'
Nach dem Login kopieren

Erklärung:

Die Eingaben im Programm, text und num, sind beide Zeichenfolgen, wie sie mit der Eingabe empfangen wurden. Allerdings versucht die Funktion cat_n_times, eine ganze Zahl (s) von der Zeichenfolge (Text) zu subtrahieren, was zu einem Typfehler führt.

Lösungen:

1 . Eingabe in Ganzzahl umwandeln:

Eine Lösung besteht darin, die Zeichenfolge num mit int():

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

2 in eine Ganzzahl umzuwandeln. Verbessertes Funktionsdesign:

Alternativ würde ein besseres Funktionsdesign eine for-Schleife anstelle der manuellen Indexverfolgung verwenden:

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

Diese Version vermittelt die Absicht der Funktion klarer und Behebt den Fehler, indem num vor der Verwendung in der Schleife in eine Ganzzahl konvertiert wird.

Das obige ist der detaillierte Inhalt vonWie behebe ich Typfehler beim Subtrahieren verschiedener Datentypen 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!