Maison >développement back-end >Tutoriel Python >Comment résoudre l'erreur \'TypeError : types d'opérandes non pris en charge pour - : \'str\' et \'int\'\' en Python ?
TypeError : types d'opérandes non pris en charge pour la soustraction
Lorsque vous rencontrez l'erreur "TypeError : types d'opérandes non pris en charge pour - : 'str' et 'int'", cela signifie qu'une tentative a été faite pour soustraire deux opérandes incompatibles, généralement une chaîne et un entier.
Dans ce cas, le code Python fourni démontre cette erreur :
<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>
L'erreur provient de la tentative de soustraire la variable s (attribuée au résultat de l'entrée) de 1. Cependant, l'entrée renvoie une chaîne et Python ne peut pas effectuer de soustraction sur les chaînes et les entiers.
Pour résoudre ce problème , convertissez num en un entier en utilisant int(num) immédiatement après avoir reçu l'entrée :
<code class="python">num = int(input("How many times: "))</code>
De plus, le code pourrait être simplifié à l'aide d'une boucle for :
<code class="python">def cat_n_times(s, n): for _ in range(n): print(s)</code>
Ce code révisé acceptera une chaîne pour le texte et un entier pour num, garantissant que l'opération de soustraction est effectuée correctement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!