TypeError : types d'opérandes non pris en charge pour la soustraction
Ce message d'erreur peut apparaître lors de l'exécution d'une opération sur des variables dont les types sont incompatibles. Dans ce cas spécifique, "TypeError" indique que votre code tente de soustraire un entier d'une chaîne. Cette opération ne peut pas être effectuée car ces types ne sont pas pris en charge pour la soustraction.
En examinant votre code, il devient évident que le problème provient de l'affectation de la variable "num", qui reçoit les entrées de l'utilisateur via le paramètre "input ()" fonction. Alors que l'utilisateur est invité à fournir une valeur numérique, "input()" la récupère sous forme de chaîne. Lorsque vous tentez de soustraire cette chaîne de « s », l'interpréteur rencontre une incompatibilité entre les types « str » (chaîne) et « int » (entier), conduisant à l'erreur signalée.
Pour résoudre ce problème , envisagez de convertir la valeur de chaîne obtenue à partir de "input()" en un entier avant d'effectuer la soustraction. La fonction "int()" peut être utilisée à cet effet. Voici une version modifiée de votre code qui corrige cette erreur :
<code class="python">def cat_n_times(s, n): while n != 0: print(s) n = n - 1 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>
N'oubliez pas de lire la documentation des fonctions et méthodes utilisées dans votre code pour garantir la compatibilité lors de l'exécution des opérations.
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!