Problème appel fonction

Fermé
yadf1994 - Modifié le 28 nov. 2021 à 18:11
yg_be Messages postés 22833 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 mai 2024 - 28 nov. 2021 à 21:04
Bonjour,

Me voilà confronté à un souci sur un programme qui fait appel à une fonction mais où cet appel n'est pas réalisé...

Précisément, cette fonction que je définis en réponse à cette question :

Donner une définition de la fonction suite qui, étant donné une liste de 5 cartes D et un entier h, renvoie True si D contient une suite de hauteur h et False sinon.
-> la fonction :

def contient_suite(l : List[Tuple[str,int]], k : int) -> bool:
if toutes_meme_couleur(l) == True:
lr : List[int] = []
ls : List[str] = []
for (couleur, hauteur) in l:
lr.append(hauteur)
ls.append(couleur)
classe(lr)
a : int = 0
for i in lr:
a = a - i
print(a)
return a == -5
else:
return toutes_meme_couleur(l) == True

et qui fait appel à la fonction classe, définit comme :

Donner une définition de la fonction classe qui, étant donné une liste d’entiers L, renvoie la liste contenant les mêmes valeurs que L, ordonnée de la plus petite à la plus grande.
-> la fonction :

def classe(l : List[int]) -> List[int]:
if l[0] > l[1]:
lr : List[int] = [l[1],l[0]]
else:
lr : List[int] = [l[0],l[1]]
if len(l) > 2:
k : int = 2
while k < len(l):
lr = intercale(lr, l[k])
k = k + 1
return lr
else:
return lr

ne fournit pas une réponse cohérente du fait que l'appel de la fonction classe n'aboutit pas à une liste lr classée (pour réaliser a == -5)...


Merci par avance pour votre aide
Configuration: Macintosh / Firefox 78.0
A voir également:

3 réponses

yg_be Messages postés 22833 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 mai 2024 1 471
28 nov. 2021 à 18:23
bonjour,
à quelle ligne de code utilises-tu la valeur retournée par la fonction classe()?
as-tu déjà fait des programmes plus simples avec des appels de fonction?
merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Bonjour,

Merci pour votre retour rapide ! A la 8ème ligne concernant la fonction contient_suite.
Oui je crois avoir déjà fait, et il me semble que lorsqu'on compile le fichier python, dès lors que l'ensemble des fonctions sont bien définies dans le fichier, il suffit de les appeler en les utilisant dans la fonction qui nous intéresse. Etant donné que j'ai défini ces deux fonctions, je ne saisi pas pourquoi ça ne marche pas. C'est bien noté pour les balises, c'est bien la première fois que je fais appel à ce forum pour du code...
Bien cordialement, Yann
0
yg_be Messages postés 22833 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 mai 2024 1 471
28 nov. 2021 à 20:40
que contient la 8ième ligne?
que fais-tu avec la valeur retournée par la fonction classe()?
as-tu déjà fait des programmes avec des appels de fonction?
0
Elle contient classe(lr) où lr est une liste de int construite en début de code. La valeur retournée est normalement ce même lr, donc cette même liste mais réarrangée par ordre croissant. Oui j'ai déjà fais appel il me semble, où j'utilise juste la fonction dans mon code qui me renvoit un élément grâce au return, et élément que j'exploite pour ma fonction (içi lr).
0
yg_be Messages postés 22833 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 30 mai 2024 1 471
28 nov. 2021 à 21:04
commence par faire un programme plus simple, tu apprendras comment récupérer la valeur retournée par une fonction.
j'ai l'impression que tu fais un exercice compliqué sans avoir compris les notions de base.
0