"Résolution de l'erreur de type : types d'opérandes non pris en charge pour - : 'str' et 'int'"
Lors de la tentative de code en Python, il n'est pas rare de rencontrer des erreurs telles que l'erreur « TypeError : type(s) d'opérande non pris en charge pour - : 'str' et 'int' ». Cette erreur se produit généralement lorsque vous tentez d'effectuer des opérations mathématiques sur différents types de données, telles que la soustraction d'un entier d'une chaîne.
Pour comprendre cette erreur, examinons le code qui y a conduit :
<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>
Le problème ici réside dans la fonction d'entrée, qui renvoie une chaîne pour le texte et le nombre. Pendant que le code tente de soustraire un entier (s - 1) d'une chaîne (num), ce qui entraîne l'erreur.
Solution 1 : Convertir l'entrée
Un La solution consiste à convertir l'entrée d'une chaîne en un entier avant d'effectuer des opérations mathématiques. Cela peut être fait en utilisant la fonction int() :
<code class="python">num = int(input("How many times: "))</code>
En convertissant num en un entier, nous pouvons assurer la compatibilité des opérations mathématiques avec s.
Solution 2 : Utiliser Itération alternative
Au lieu de suivre manuellement les indices, envisagez d'utiliser une approche plus pythonique pour l'itération :
<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>
Ici, la boucle for avec range(n) gère l'itération efficacement.
Considérations sur l'API
L'erreur met également en évidence des problèmes potentiels liés à la conception de l'API. Il peut être plus intuitif que le texte soit la chaîne et que le nombre représente le nombre de fois. Dans ce cas, l'API peut être modifiée en conséquence.
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!