+ 1

How to fix (object cannot be interpreted as integer) in python please ?

21st Apr 2020, 4:32 PM
Samah Mamour
22 Antworten
+ 3
Okay, it looks like because "contenu_cadres" is a list, you cannot get the range of it since it is not a number. Try: for i in range(len(contenu_cadres)): if contenu_cadres[i] == 'valeur': print(i) This will give you the index of "valeur" in the list "contenu_cadres" Heres where it gets tricky, as i dont exactly know what you want it to do.
21st Apr 2020, 5:57 PM
Slick
Slick - avatar
+ 2
Thanks a lot i will try it
21st Apr 2020, 6:04 PM
Samah Mamour
+ 2
Yes exactly thank you a lot 🙂
21st Apr 2020, 7:14 PM
Samah Mamour
+ 2
:)
21st Apr 2020, 9:47 PM
Samah Mamour
+ 2
Hi please this is my program can u tell me where are errors ?
23rd Apr 2020, 12:23 PM
Samah Mamour
+ 2
taille_page = int(input("entrez la taille d'une page virtuelle en octet: ")) nbr_page_v = int(input("entrez le nombre de page virtuelle: ")) nbr_cadres = int(input("entrez le nombre de cadres en mémoire physique: ")) contenu_cadres = [] print("maintenant veuillez ajouter le contenue des cadres en tapant (-1) si le cadre ne contient aucune page ,sinon tapez la valeur du numéro de page associé ! : ") for i in range(nbr_cadres): contenue=int(input()) contenu_cadres.append(contenue) num_adresse_recherché = int(input("entrez le numero de page à rechercher !: ")) adresse_virtuelle = num_adresse_recherché//taille_page décalage = num_adresse_recherché % taille_page print("la page que vous chercher se trouve dans la page {} avec un décalage de {}".format(adresse_virtuelle, décalage)) valeur = int(input("entrez la page que vous cherchez son cadre !: ")) for i in range(len(contenu_cadres)): if i == 'valeur': num = i print(str(num) + "est le numero de cadre")
23rd Apr 2020, 12:23 PM
Samah Mamour
+ 1
Lets see your code and the error.
21st Apr 2020, 4:37 PM
Slick
Slick - avatar
+ 1
taille_page = int(input("entrez la taille d'une page virtuelle en octet: ")) nbr_page_v = int(input("entrez le nombre de page virtuelle: ")) nbr_cadres = int(input("entrez le nombre de cadres en mémoire physique: ")) contenu_cadres = [] print("maintenant veuillez ajouter le contenue des cadres en tapant (-1) si le cadre ne contient aucune page ,sinon tapez la valeur du numéro de page associé ! : ") for i in range(nbr_cadres): contenue=int(input()) contenu_cadres.append(contenue) num_adresse_recherché = int(input("entrez le numero de page à rechercher !: ")) adresse_virtuelle = num_adresse_recherché//taille_page décalage = num_adresse_recherché % taille_page print("la page que vous chercher se trouve dans la page {} avec un décalage de {}".format(adresse_virtuelle, décalage)) valeur = int(input("entrez la page que cherchez son cadre !: ")) for i in range(contenu_cadres): if i == ("valeur"): print("i")
21st Apr 2020, 5:45 PM
Samah Mamour
+ 1
The cause of the error is the last for loop
21st Apr 2020, 5:46 PM
Samah Mamour
+ 1
It works but i need to print some explanation with (i) how can i do that please ?
21st Apr 2020, 6:59 PM
Samah Mamour
+ 1
I would print the frame wanted is (i)
21st Apr 2020, 7:05 PM
Samah Mamour
+ 1
I think i understand, try this #instead of: print(i) #replace with: print("The frame wanted is " + str(i)) Is that what you meant?
21st Apr 2020, 7:09 PM
Slick
Slick - avatar
+ 1
There is no error but it does not print plz have you any idea ?
21st Apr 2020, 7:23 PM
Samah Mamour
+ 1
For the last print u showed me i didn't get but there is no error
21st Apr 2020, 9:14 PM
Samah Mamour
+ 1
taille_page = int(input("entrez la taille d'une page virtuelle en octet: ")) nbr_page_v = int(input("entrez le nombre de page virtuelle: ")) nbr_cadres = int(input("entrez le nombre de cadres en mémoire physique: ")) contenu_cadres = [] print("maintenant veuillez ajouter le contenue des cadres en tapant (-1) si le cadre ne contient aucune page ,sinon tapez la valeur du numéro de page associé ! : ") for i in range(nbr_cadres): contenue=int(input()) contenu_cadres.append(contenue) num_adresse_recherché = int(input("entrez le numero de page à rechercher !: ")) adresse_virtuelle = num_adresse_recherché//taille_page décalage = num_adresse_recherché % taille_page print("la page que vous chercher se trouve dans la page {} avec un décalage de {}".format(adresse_virtuelle, décalage)) valeur = int(input("entrez la page que cherchez son cadre !: ")) for i in range(len(contenu_cadres)): if contenu_cadres[i] == 'valeur':print("le cadre voulu est"+str(i))
21st Apr 2020, 9:15 PM
Samah Mamour
+ 1
Okay, then we'll try formatting using an "f string" print(f'le cadre voulu est {i}')
21st Apr 2020, 9:20 PM
Slick
Slick - avatar
+ 1
Because it did print a number before we added the string to the print call, correct? And im sorry about the language barrier, I cant find out the intended input and output of the code.
21st Apr 2020, 9:26 PM
Slick
Slick - avatar
+ 1
Well i'm sorry for disturbing you :( thank you
21st Apr 2020, 9:36 PM
Samah Mamour
+ 1
Oh stop, its no bother. Good luck!
21st Apr 2020, 9:43 PM
Slick
Slick - avatar
+ 1
Hi
23rd Apr 2020, 8:37 AM
Jojo123