Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Répondre
Résumé de la discussion (messages les plus récents en premier)
- yoshi
- 29-11-2024 17:27:16
Re,
8 jours plus tard, soon is late...
L'aurais-je vexé ? Il n'y avait pourtant pas de quoi...
Tant pis, j'aurais essayé.
@+
- yoshi
- 21-11-2024 19:17:47
Re,
C'est bien du Python ?.
Si oui :
1 Déjà 1ere remarque :
genre=(input())
Depuis Python 3.x avec genre = input(), genre est déjà une chaîne, donc, le str() est inutile
Par contre si genre devait être un nombre entier, il faudrait écrire genre =int(input())...
2.
liste_genre =[]
while True
genre=input("Quels sont vos genres de films préférés ? ")
if not genre:
break
liste_genre.append(genre)
print(liste_genre)
Quels sont les genres que vous avez testés ?
Parce que, quelle que soit ma réponse, chaîne ou nombre, pour Python c'est toujours vrai... Donc, je ne sors jamais de la boucle while
Qu'est-ce que l'objet : nv_df_movie ?
Une liste ? Parce que je vois nv.df.movie["release_year"]...
Si oui, alors "release_year" est une chaîne (même si release_year, lui peut être un nombre) et nv.df.movie["release_year"] devrait t'envoyer un message d'erreur disant grosso modo que les indices permettant d'accéder aux éléments d'une liste doivent être des entiers, pas des strings...
Tu es limité en nombre de lignes ? Parce que tu gagnerais en clarté et en maintenance à séquencer cette seule instruction :
choix_films = nv_df_movie[(nv_df_movie['genres'].apply(lambda x: any(genre in liste_genre for genre in x))) & (nv_df_movie["release_year"]==annee)]...
Si j'avais un conseil à te donner, crois-en mon expérience, ce serait d'abord (avant de passer à la programmation) de passer par l'étape papier+ stylo et d'écrire ton script en langage "naturel" (phrases pas utiles, plutôt style "télégraphique"), puis lorsque tu seras satisfait
alors tu te lanceras dans la programmation.
C'est alors que le débogage commencera : ne te fais pas d'illusion, c'est relativement rare qu'un script de ce niveau marche du 1er coup...
Tu as "l'impression que le programme n'est pas correctement exécuté" ? C'est trop vague...
Mets-toi à la place de ta bécane, deviens aussi stupide qu'elle mais tout aussi obéissant et suis ton prog pas à pas comme si t'étais à la place de ta machine sans faire ce que tu as pensé qu'elle allait faire, mais très exactement ce que ton prog lui demande de faire...
Et là, fatalement à un moment, il y aura un écart entre ce que tu attendais qu'elle fasse et qui se fait réellement...
Et là, les pourquoi ? vont fleurir, et il faudra trouver les causes et y remédier...
Parce que, vois-tu, avec ce seul petit morceau de code, sans une base de données minimum pour aller avec, je suis réduit aux suppositions sur ce qu'il y a éventuellement avant et/ou après...
J'ai essayé de trouver ce qui pouvait mal (ou pas) fonctionner dans le bout de code, j'ai noté ce que je pensais possible, voire probable pour finalement ne pas t'aider beaucoup, ou même pas du tout !
@+
- soon
- 21-11-2024 15:59:36
Bonjour,
j'ai besoin d'aide pour un projet de création de moteur de recherche, l'objectif est de recommander des films à l'utilisateur pour que celui-ci puisse accéder à des recommandations personnalisées.
Pour ce faire, j'ai une base de donnée "movie" et je cherche à comparer les genres de l'utilisateur aux genres des films: je vous montre comment je m'y prends: (je passe tous les genre en minuscules au préalable et j'efface les "espaces" si l'utilisateur en met) j'espère que quelqu'un aura une petite solution pur me débloquer.. Merci !
liste_genre =[]
while True:
genre=str(input("Quelles sont vos genres de Film préferés ? "))
genre=genre.strip()
if not genre:
break
liste_genre.append(genre)
print(liste_genre)
choix_films = nv_df_movie[(nv_df_movie['genres'].apply(lambda x: any(genre in liste_genre for genre in x))) & (nv_df_movie["release_year"]==annee)]