Bonjour (c'est ma première question sur le site si excuses si je n'ai pas suivi de règles) Vous trouverez ci-dessous deux codes (en utilisant une boucle) que j'ai écrit pour imprimer une inverse d'une chaîne d'entrée par l'utilisateur. Un code me donne une erreur et l'autre fonctionne bien. Je ne peux pas comprendre pourquoi. Pourquoi la fonction "gamme" semble-t-elle faire la différence? J'apprécie si quelqu'un peut m'aider à comprendre la logique - merci beaucoup
code 1: cela me donne une erreur: strong> p> * Entrez un mot python P> TypeError Traceback (dernier appel en dernier)
dans
4
5 pour i dans la chaîne:
----> 6 x = chaîne [-1-i]
7 inverse.append (x)
8
TypeError: type (s) d'opérande non pris en charge pour -: 'int' et 'str' p>
string = input('Enter a Word ')
length = len (string)
reverse = []
for i in range(length):
x=string [-1-i]
reverse.append(x)
print (reverse)
3 Réponses :
avec Lorsque vous appelez pour i dans string code>,
i code> prendra la valeur de chaque caractère de la chaîne, par exemple.
'h' code>,
'e' code>,
'l' code>,
'l' code> " code> si l'entrée était "bonjour". p>
string [-1-i] code>, Python tente de soustraire une chaîne d'un numéro, c'est pourquoi vous obtenez l'erreur
Type d'opérande non pris en charge pour - : 'int' et 'str' code>. p>
Bien sûr mais n'est-ce pas l'autre code qui fait la même chose?
@Haseebhaque, no i code> est 0, 1, 2, ... lorsque vous utilisez la plage.
La première boucle que vous faites est de créer une boucle foreach pour votre chaîne, donc votre "I" est essentiellement un caractère. Savez-vous qu'il y a aussi une fonction appelée "inverse ()"? P>
Merci non, je ne l'ai pas fait et merci de le pointer. Mais je veux vraiment comprendre pourquoi un code, au-dessus, fonctionne et l'autre ne fait pas
Pouvez-vous s'il vous plaît expliquer la différence entre les fonctions inverse () et inversée ()
Est-ce que cela répond à votre question Stackoverflow.com/Questtions/6810036/...
Vous pouvez créer facilement une fonction inverse code> -
Merci pour la contribution - Ce que je veux vraiment comprendre, c'est que comment se fait que le deuxième code fonctionne et le premier fait. Les deux suivent à peu près la même logique que pour la fonction de la plage. Merci beaucoup
Imprimer la valeur de
i code> dans chacune des boucles