Parcours tableauu
LYON
-
Phil_1857 Messages postés 1883 Date d'inscription Statut Membre Dernière intervention -
Phil_1857 Messages postés 1883 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
"""
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
"""
14 réponses
-
Bonjour,
C'est pour quand ?
-
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 -
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 -
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 ? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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() -
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 -
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 -
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() -
-
hé bien voila, on y arrive !
-
-
Ton code ne fonctionne pas ?
Il donne quoi ? -
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 -
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