Parcours tableauu

LYON -  
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'arrive pas a programmer cela si quelqu'un pourrait m'aider ?



from random import randint


def trajet(n, mini, maxi):
"""
n – int, entier strictement positif
mini, maxi – int, strictement positifs avec mini < maxi
Sortie: list – tableau de n entiers aléatoires compris
entre mini (inclus) et maxi (inclus). Attention,
deux éléments successifs ne peuvent pas être égaux
et doivent un écart d'au maximum 3 en plus ou en
moins. Par exemple :
- La liste [2, 5, 7, 4, 2, 4] convient
- La liste [1, 2, 3, 2, 1, 4] convient
- La liste [2, 5, 8, 6, 7, 3] ne convient pas
- La liste [2, 5, 5, 6, 3, 4] ne convient pas
"""
A voir également:

14 réponses

Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
Bonjour,

C'est pour quand ?
0
LYON
 
dans la semaine mais j'ai une autre suite de programmes a faire après celui la
0
Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345 > LYON
 
0
LYON
 
j'essaye de faire un algorithme mais je bloque:

tant que tab != N alors
on genere un aleatoire(mini,maxi)
si len(tab[0])- len(tab[0]+1) == 3 ou -3
alors on ajoute cet entier au tableau


je ne sais pas comment faire mieux je n'ai trouver que cette idée
0
LYON
 
J'ai essayé comme ca mais toujours pas ..


def trajet(n, mini, maxi):
"""
n – int, entier strictement positif
mini, maxi – int, strictement positifs avec mini < maxi
Sortie: list – tableau de n entiers aléatoires compris
entre mini (inclus) et maxi (inclus). Attention,
deux éléments successifs ne peuvent pas être égaux
et doivent un écart d'au maximum 3 en plus ou en
moins. Par exemple :
- La liste [2, 5, 7, 4, 2, 4] convient
- La liste [1, 2, 3, 2, 1, 4] convient
- La liste [2, 5, 8, 6, 7, 3] ne convient pas
- La liste [2, 5, 5, 6, 3, 4] ne convient pas
"""
assert mini<maxi, "Mini doit etre plus petit que Maxi"
assert n>=0 , "N doit etre strictement positif"
tab=[]
ale=randint(mini,maxi)
tab.append(ale)
while len(tab)!=n:
ale
if tab[0]-ale >=3 or tab[0]>=-3:
tab.append(ale)
tab[0+1]
return tab
0
Chris 94 Messages postés 54087 Date d'inscription   Statut Modérateur Dernière intervention   7 345
 
Bon, à part les rappels au règlement, je ne peux pas grand chose pour toi, désolé...

Cependant :
Pense à attribuer au code la couleur syntaxique et la forme correcte avec le bouton
<>
en haut de la case d'édition.
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour Lyon,

L'indentation étant importante en Python, merci de re poster ton code avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :

def test():
    print('test')

test()


C'est quoi le but du jeu ?
0
LYON
 
Bonjour, mes indentations sont bonnes mais quand j'ai copié coller ca les a enlever
0

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

Posez votre question
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
fais donc comme indiqué ici et ca va marcher


https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :

def test():
    print('test')

test()
0
LYON
 
Merci Phil,
J'utilise spyder pour programmer et mes indentations sont bonnes et colorées, je dois programmer un tableau de n entiers aléatoires compris entre mini (inclus) et maxi (inclus) deux éléments successifs ne peuvent pas être égaux
et doivent un écart d'au maximum 3 en plus ou en
moins. Par exemple :
- La liste [2, 5, 7, 4, 2, 4] convient
- La liste [1, 2, 3, 2, 1, 4] convient
- La liste [2, 5, 8, 6, 7, 3] ne convient pas
- La liste [2, 5, 5, 6, 3, 4] ne convient pas
0
LYON
 
def trajet(n, mini, maxi):
    """
    n – int, entier strictement positif
    mini, maxi – int, strictement positifs avec mini < maxi
    Sortie: list – tableau de n entiers aléatoires compris
            entre mini (inclus) et maxi (inclus). Attention,
            deux éléments successifs ne peuvent pas être égaux
            et doivent un écart d'au maximum 3 en plus ou en
            moins. Par exemple :
            - La liste [2, 5, 7, 4, 2, 4] convient
            - La liste [1, 2, 3, 2, 1, 4] convient
            - La liste [2, 5, 8, 6, 7, 3] ne convient pas
            - La liste [2, 5, 5, 6, 3, 4] ne convient pas
    """
    assert  mini<maxi, "Mini doit etre plus petit que Maxi"
    assert n>=0 , "N doit etre strictement positif"
    tab=[]
    ale=randint(mini,maxi)
    tab.append(ale)
    while len(tab)!=n:
        ale
        if tab[0]-ale >=3 or tab[0]>=-3:
           tab.append(ale)
    tab[0+1]
    return tab 
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
encore raté, tu vois bien que ca ne ressemble pas à ca du tout, pourtant, c'est simple de suivre le mode d'emploi

def test():
    print('test')

test()
0
LYON
 
Regardez mon ancien message j'ai fais comme vous m'avez dit.
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
hé bien voila, on y arrive !
0
LYON
 
vous auriez une facon de faire ce programme ?
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Ton code ne fonctionne pas ?

Il donne quoi ?
0
LYON
 
Il me donne juste le meme nombre aléatoire N fois.
Moi il me faut un programme qui genere N aléatoire et deux elements successifs ne peuvent pas etre égaux et doivent avoir un écart d'au maximum 3 en plus ou en moins. tout ca dans une liste
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour Lyon

Il me donne juste le même nombre aléatoire N fois.

Normal :
ale=randint(mini,maxi)
n'est exécuté qu'une seule fois

Moi, je ferais une boucle de 1 à n pour exécuter cette instruction n fois

dans la boucle, j'ajouterais ale à une liste si les conditions sont vérifiées:

éléments successifs différents et écart = + ou - 3
0