Python: 'int' object n'est pas subscriptable
J'obtiens une erreur ici et je me demandais si l'un de vous pouvez voir où je suis allé mal. Je suis plutôt un débutant en python et ne peut pas voir où je suis allé mal.
temp = int(temp)^2/key
for i in range(0, len(str(temp))):
final = final + chr(int(temp[i]))
"temp" est composé de chiffres. de la "clé" est aussi faite de nombres. Toute l'aide ici?
- Donc... c'est Quoi l'erreur?
temp
est unint
, de sorte que vous ne pouvez pas écriretemp[i]
final = final + chr(int(temp[i])) TypeError: 'int' object is not subscriptable
- Je ne sais pas si vous êtes au courant de cela, mais le num^2 ne signifie pas num carré, cela signifie num xor 2. Si vous voulez une puissance, vous devez utiliser l'opérateur**, c'est à dire de type int(temp)**2/clé. Si vous utilisez xor, l'ignorer.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous avez défini
temp
un nombre entier (d'ailleurs, en Python,^
n'est pas la "puissance" d'un symbole. Vous êtes probablement à la recherche pour**
):Mais alors, vous avez traité comme une chaîne de caractères:
Y avait-il une autre chaîne nommée
temp
? Ou vous êtes à la recherche d'extraire lei
th chiffres, ce qui peut être fait comme suit:TypeError: an integer is required
str(temp)[i]
appel à un int appel, mais une meilleure réponse ne peut être donnée parce que c'est vraiment pas clair ce que vous essayez de faire.i
e nombre de temp, qui est un entier, et obtenir le char qui le représente et l'assigner à une chaîne.final = final + chr(int(temp[i]))
devientfinal = final + chr(int(str(temp)[i]))
. Aussi,final = final + ...
peut êtrefinal+=
Sur cette ligne temp est encore un certain nombre, afin de l'utiliser
str(temp)[i]
MODIFIER
final = final + chr(str(temp)[i])
jette:TypeError: an integer is required