Probleme en python

Fermé
momo9213 - 8 janv. 2022 à 19:21
 momo9213 - 9 janv. 2022 à 12:42
Bonjour, je rencontre un en problème avec mon programme ci-dessous:

le problème est que dans la petit partie de code en bas le code prend en compte le string ou le caractère et moi je voudrais qu'il prennent les valeurs si quelqu'un pourrait m'aider ça serait très gentil,merci d'avance a ceux et celle qui m'aiderons

classement = {}
classement["JDCR"] = 5
classement["Arslan Ash"] = 6
classement["Chikurin"]= 4
classement["Rangchu"] = 8
classement["Tissuemon"] = 37
classement["knee"] = 1
classement["Super Akouma"] = 7
classement["Anakin"] = 2
classement["Abdel Del Maestro"] = 9
classement["LowHigh"] = 3

meilleur_du_classement = [n for n in classement if (n>=2)]
print meilleur_du_classement

3 réponses

yg_be Messages postés 23449 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 janvier 2025 Ambassadeur 1 564
8 janv. 2022 à 19:43
bonjour,
ton programme te donne quel résultat?
0
il me donne : '>=' not supported between instances of 'str' and 'int'
0
jee pee Messages postés 40737 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 29 janvier 2025 9 513
8 janv. 2022 à 20:49
Salut,

Tu n'as pas utilisé la mise en forme des sources sur le forum.

Si tu réétudies le lien que je t'ai donné sur les dictionnaires sur une autre question, il y a un exemple pour trouver la clé qui a la valeur max, exactement ce que tu cherches.

Tu es en Python 2 ?
0
ok je vais regarder et je ne suis pas sur mais il me semble que j'utilise python 3.7.9
mais le logicielle est spyder
0
donc si je comprend bien je devrai faire:
classement = {}
classement["JDCR"] = 5
classement["Arslan Ash"] = 6
classement["Chikurin"]= 4
classement["Rangchu"] = 8
classement["Tissuemon"] = 37
classement["knee"] = 1
classement["Super Akouma"] = 7
classement["Anakin"] = 2
classement["Abdel Del Maestro"] = 9
classement["LowHigh"] = 3

def meilleur_joueur():
meilleur_joueur = [n for n in classement.values() if (n <= 2)]
print :meilleur_joueur
0
jee pee Messages postés 40737 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 29 janvier 2025 9 513
Modifié le 9 janv. 2022 à 07:22
Tu n'as toujours pas mis les balises code de CCM !

Pourquoi mettre un code et nous demander si c'est ça ? alors que tu dois l'avoir testé et avoir la réponse. Tu devrais plutôt nous donner la réponse que t'affiche ton code.

Là pourquoi créer une fonction ??? en plus avec le même nom qu'une variable tu as toutes les chances de semer la confusion, chez le lecteur, mais aussi chez toi ;-)

J'ai exécuté ta boucle, et logiquement elle ramène l'ensemble des valeurs <=2 donc [1, 2]

J'imagine que ce n'est pas ce que tu cherches ? Tu veux le nom de celui qui a le meilleur classement ? Knee ?

Alors dans mon lien tu devrais regarder le point 13.1.8

Pourquoi je demandais si tu avais Python 2 c'est que la plus visible différence entre Python 2 et 3 c'est sur le print, avant c'était une commande c'est devenu une fonction. En 2 :
print variable
, ne marchera pas en 3 il faut
print(variable)
. Ton environnement de développement s'il est bien en 3 doit se charger de gérer les 2 syntaxes et ce doit aussi être un interpréteur interactif, ce qui te permet de taper le nom d'une variable et tu obtiens son contenu.

0
bonjour d'abord merci pour votre réponse bien développée et bien explique. Donc j'ai bien compris comment vous vouliez que je fasse, mais mon professeur nous a demande sans les variables min() et max(), car ils sont déjà tout faite et nous devons les crées nous même donc c'est pourquoi je n'ai pas utilisé ses variables là.
Mais encore une fois je vous remercie pour le temps que vous prenez pour essaye de m'aider.
0