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 :

Débute en python


Sujet :

Python

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Débute en python
    Bonjour,

    Je viens vers vous car je débute en python et j'aimerai un peu aide car je suis complètement perdu dans l'énoncé d'un exercice .

    Voici l'énoncé :
    Vous devez faire un programme fonctionnel en Python qui puisse faire de la répartition de processus sur des processeurs. Vous disposez de 3 processeurs. Combien de possibilités avez-vous pour répartir 3 processus parmi ces 3 processeurs ? La réponse à cette question est 10 possibilités. En effet, vous pouvez placer 3 processus sur un seul processeur, soit 3 possibilités, vous pouvez placer 2 processus sur un processeur et un processus sur un autre processeur donnant ainsi 6 possibilités et vous pouvez placer 1 processus par processeur d’où 1 dernière possibilité : soit 3 + 6 + 1 = 10.
    Question : Ecrire le programme Python qui permet de saisir le nombre de processus, le nombre de processeurs et d’obtenir toutes les possibilités de répartition.
    J'ai compris l'énoncé mais je suis complétement bloqué je sais pas par ou commencer. Si quelqu'un peut m'aider , merci .

  2. #2
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Bonjour,
    En premier il faut un peu analyser le problème!!
    Qu'est-il demandé exactement?

    Ensuite, le problème est de savoir comment il est possible de répondre…
    Une des méthodes est de considérer la décomposition donnée en exemple afin d'en tirer une équation dépendante de n (nombre de "processeurs") et de m (le nombre de processus).

    Une autre, c'est de faire une analyse en combinatoire, d'en tirer un équation soluble (ou tout au moins approximable).

    Autre possibilité: trouver une manière "sur le papier" de "parcourir" la décomposition donnée dans l'énoncé puis de la retranscrire en Python.
    (ex: bon, j'ai n boites et m trucs, je commence par mettre m trucs dans chacune des n boites, donc cela fait déjà n possibilité. Ensuite je recommence: combien je peux faire de tas de 2 trucs différents, puis combien je peux faire de groupes différents de deux boîtes…)

    Dans tous les cas il faut commencer sur papier (ou dans la tête, ou n'importe ou sauf dans l'éditeur Python afin de savoir ce qu'il faut faire et comment il possible de le faire).

    Et il existe, sans aucun doute, bien d'autres possibilités de procéder!!

    Clodion

  3. #3
    Membre averti
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Points : 413
    Points
    413
    Par défaut
    Trouvé ! (il ne me semble pas avoir fait d'erreurs, l'exercice sera maintenant de comprendre comment j'ai fais )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    cont=int(input('Entrez le nombre de processeurs : '))
    boules=int(input('Entrez le nombre de processus : '))#oui, les noms des variables sont bizarres mais c'est parce que j'étais partis avec des conteneurs et des boules pour schématiser
     
    liste=[cont*[0]]
    for i in range(boules):
    	nvl=[]
    	for poss in liste :
    		for nb in range(cont) :
    			p=list(poss)
    			p[nb]+=1
    			nvl.append(p)
    	liste=list(nvl)
    fin=[]
    for poss in liste:
    	if poss not in fin : fin.append(poss)
    print(str(len(fin))+' possibilités trouvées :',*fin,sep='\n')
    input()#pour bloquer, inutile sous linux il me semble
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

Discussions similaires

  1. [langage] traduction d'un fonction python en perl
    Par ay_pepito dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2007, 16h06
  2. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 13h32
  3. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 15h51
  4. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 15h59

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