IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

codingame python besoin d'aide


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 10
    Points
    10
    Par défaut codingame python besoin d'aide
    Hello,

    je dois passer un test en python sur codingame

    Il y a des test pratiques et QCM dedans

    J'ai déjà essayé de faire le tutoriel et je me suis gourée dessus !... Donc peur de lancer le vrai test.

    Quelqu'un as-til déjà passé le test ? Savez-vous comment je peux mentrainer pour les exos pratiques ?
    J'aimerai reussi le test mais il me semble très dur.


    Nom : coding.PNG
Affichages : 11434
Taille : 78,1 Ko

    Si quelqu'un a des astuces je suis preneur.

  2. #2
    Membre actif
    Profil pro
    Loisir
    Inscrit en
    Novembre 2011
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Novembre 2011
    Messages : 159
    Points : 284
    Points
    284
    Par défaut
    Bonjour,

    je ne vais pas répondre à ta question en te donnant un code mais en tentant de te donner des pistes de reflexion qui devraient aboutir à un code fonctionnel qui pourra être optimiser. Commence par dresser un algorithme en utilisant uniquement un crayon et du papier. C'est TOUJOURS la première étape en informatique.

    Détaille le plus possible ton raisonnement à chaque fois.

    Comment fais-tu concrètement pour trouver le minimum de cette liste [1,3,4,6,2,5] ?
    Comment fais-tu concrètement pour trouver la valeur la plus proche de zéro de cette liste [-3, 2, 7, -1, 4] ?

    A partir de là tu devrais trouver une première version de l'algorithme.

    Bonne chance.

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par artdream Voir le message
    J'aimerai reussi le test mais il me semble très dur.
    Amusant. Je viens de me créer un profil recruteur et un autre de candidat, puis mon profil recruteur a envoyé une invitation au profil candidat et je me suis amusé à m'autoévaluer.

    Franchement il n'est pas très dur. Tu traites chaque élément du tableau et si celui-ci est plus proche de 0 que l'élément mémorisé, alors tu remplaces l'élément mémorisé par celui traité.
    Un petit cas particulier pour traiter quand deux éléments sont identiques au signe près et c'est réglé.

    Je trouve quand-même leur évaluation un peu poussée. Le bouzin m'a enlevé 5% parce que j'avais écrit if not(ts) pour détecter le tableau vide et qu'il a considéré les parenthèses comme un souci de clarté...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Octobre 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par artdream Voir le message
    Hello,

    je dois passer un test en python sur codingame

    Il y a des test pratiques et QCM dedans

    Si quelqu'un a des astuces je suis preneur.
    J'ai déjà essayé de faire le tutoriel et je me suis gourée dessus !... Donc peur de lancer le vrai test.

    Quelqu'un as-til déjà passé le test ? Savez-vous comment je peux mentrainer pour les exos pratiques ?
    J'aimerai reussi le test mais il me semble très dur.


    Nom : coding.PNG
Affichages : 11434
Taille : 78,1 Ko,

    La solution est trés simple:
    1)Tu parcours la liste en entrée ts, et tu trie les valeur positif ou pas, c'est simple t'as qu'a verifier la si la valeur parcouru est supperieur ou inferieur à zero(if i<0,
    2) tu crée deux liste dans l'une contient les valeurs positifs et l'autre les valeurs negatives,
    3) tu compare le min(list_positif) avec le abs(max(list_négatif))
    4) tu gére les cas de liste vide ts et aussi les cas ou la liste en entrée contien uniquement des valeurs positifs ou bien des valeurs négatifs.
    test facile à faire ça prend max 10 mn

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    On pourrait aussi simplement rajouter 0 à la liste ts, la trier numériquement et regarder juste le voisin de droite et de gauche de 0 en priorisant sur le positif si son opposé est le voisin négatif et si au moins 2 zéro, alors c'est lui qui gagne.

    Mais, ça, c'est quand on a la flemme de parcourir soi-même la liste, bien sur
    Cordialement.

  6. #6
    Expert éminent
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    Avril 2016
    Messages
    1 471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 471
    Points : 6 110
    Points
    6 110
    Par défaut
    Bonjour,

    Citation Envoyé par artdream Voir le message
    Quelqu'un as-til déjà passé le test ? Savez-vous comment je peux mentrainer pour les exos pratiques ?
    J'aimerai reussi le test mais il me semble très dur.
    Je l'ai déjà passé une seule fois et, dans l'ensemble, je l'ai trouvé très simple.
    La majorité des questions étaient sur les règles du langage.
    Il y avait aussi quelques questions d'algorithmie, dont une seule était plus compliquée que l'exemple que tu viens de publier sur ce fil.

    Si le test est dans peu de temps, alors entraîne-toi sur CodinGame.
    Si le test est dans longtemps, alors étudie studieusement les règles du Python et manipule des algorithmes de plus en plus complexes. Alors, quand tu referas un test sur CodinGame, tu trouveras ça très simple.

    Citation Envoyé par solutionFinder Voir le message
    La solution est trés simple:
    1)Tu parcours la liste en entrée ts, et tu trie les valeur positif ou pas, c'est simple t'as qu'a verifier la si la valeur parcouru est supperieur ou inferieur à zero(if i<0,
    2) tu crée deux liste dans l'une contient les valeurs positifs et l'autre les valeurs negatives,
    3) tu compare le min(list_positif) avec le abs(max(list_négatif))
    4) tu gére les cas de liste vide ts et aussi les cas ou la liste en entrée contien uniquement des valeurs positifs ou bien des valeurs négatifs.
    test facile à faire ça prend max 10 mn
    Cette solution est assez tordue, demande d'écrire plus de code que nécessaire et, à cause des tris, n'est pas performante. La bonne solution est celle qu'a donnée Sve@r.

    Citation Envoyé par disedorgue Voir le message
    On pourrait aussi simplement rajouter 0 à la liste ts, la trier numériquement et regarder juste le voisin de droite et de gauche de 0 en priorisant sur le positif si son opposé est le voisin négatif et si au moins 2 zéro, alors c'est lui qui gagne.

    Mais, ça, c'est quand on a la flemme de parcourir soi-même la liste, bien sur
    Si on veut "tricher" et ne pas parcourir la liste à la main, alors la solution la plus directe est d'utiliser la fonction max ou la fonction min :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    from typing import List
     
    def closestToZero(ts: List[float]) -> float:
    	return max(ts,
    	           key=lambda x: (-abs(x), x),
    	           default=0.0)
     
    def closestToZero2(ts: List[float]) -> float:
    	return min(ts,
    	           key=lambda x: (abs(x), -x),
    	           default=0.0)
    À part ça, dans l'exercice, le fait qu'une fonction closestToZero retourne 0 en cas de liste vide est une erreur de conception. En effet, si l'appelant oublie de penser au cas où sa liste est vide, alors closestToZero cachera la poussière sous le tapis en se comportant comme si la liste contenait 0.0. En cas de liste vide, à mon avis, il aurait été mieux de lancer une exception.

  7. #7
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Intérressant vos discussions, mais petite précision : le sujet a 8 mois, donc pas sûr que l'auteur du topic repasse ici pour bénéficiez de tous ces axes de réflexion.

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2021
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2021
    Messages : 47
    Points : 80
    Points
    80
    Par défaut
    J'ai le même en php dans mon tuto j'ai réussi du premier coup il faut prendre le min en valeur absolu du tableau

Discussions similaires

  1. [Python 3.X] Python: besoin d'aide pour un petit programme
    Par Intrepid13 dans le forum Général Python
    Réponses: 9
    Dernier message: 14/10/2015, 19h19
  2. [Python 3.X] Python: besoin d'aide pour un petit programme
    Par Intrepid13 dans le forum Général Python
    Réponses: 2
    Dernier message: 11/10/2015, 04h21
  3. Python besoin d aide sur un THREAD Psycho cognitive
    Par dalverose dans le forum Général Python
    Réponses: 1
    Dernier message: 23/01/2012, 22h14
  4. Besoin d'aide TP de première année INFO => Python
    Par bond70 dans le forum Général Python
    Réponses: 3
    Dernier message: 05/11/2008, 00h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo