Aide scripte python

loveparade Messages postés 506 Date d'inscription   Statut Membre Dernière intervention   -  
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour a tous,
ben voila jai un probleme avec un scripte en python mais ne vois pas ou est l'erreur
pourriez vous m'aider?
voila le scripte

from random import randrange
init=input('entrez le nombre de depart \n')
prem=randrange(init)
while prem<15:
.....prem=randrange(init)
secon=init-prem
i,j,k,l,m,n,o,p=randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9)
while prem!=i+j+k+l+m+n+o+p:
.....i+j+k+l+m+n+o+p=randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9)
if i%2!=0:
.....i=(i+9)/2
if j%2!=0:
.....j=(j+9)/2
if k%2!=0:
.....k=(k+9)/2
if l%2!=0:
.....l=(l+9)/2
if m%2!=0:
.....m=(m+9)/2
if n%2!=0:
.....n=(n+9)/2
if o%2!=0:
.....o=(o+9)/2
if p%2!=0:
.....p=(p+9)/2
a,b,c,d,e,f,g,h=randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9)
while secon!=a+b+c+d+e+f+g+h:
.....a,b,c,d,e,f,g,h=randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9),randrange(0,9)
print i,a,j,b,k,c,l,d,m,e,n,f,o,g,p,h
input()



merci!! :D

5 réponses

sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
euh... il est censé faire quoi, ton programme ?
0
loveparade Messages postés 506 Date d'inscription   Statut Membre Dernière intervention   60
 
a partir d'un nombre il en tire 2 differents
puis tire 8 defferents = au 1er nombre et 8 differents = au 2eme nombre
enfait je cherche a tirrer 8 ombres differents dont la somme est = a un nombre predefini
mais je n'y arrive pas
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Tirer 8 nombres aléatoire dont la somme est égale à un nombre (qui est entre 0 et 72):

import random,sys,operator

def listede8(nombre):
    if nombre > 8*9:
        print "Erreur: Nombre trop grand !"
        sys.exit(0)
    a = [random.randrange(0,9) for i in range(8)]
    while reduce(operator.add,a) > nombre:
        a[random.randrange(0,8)] -=1
    while reduce(operator.add,a) < nombre:
        a[random.randrange(0,8)] += 1
    return a

print listede8(53)


(On peut sans aucun doute faire plus joli. C'est bricolé vite fait.)
0
loveparade Messages postés 506 Date d'inscription   Statut Membre Dernière intervention   60
 
ok je debute en py donc jai pas tres bien compris quand tu l'a mis donc jai fais des recherches et la jai enfin compris
merci a toi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
De rien :-)
0