Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème sur un exercice de code python

Sujet résolu
1 novembre 2015 à 20:58:51

Bonjour,

Cette année je suis en Terminale S, j'ai prit comme option ISN.

Je suis débutant dans le langage python et notre professeur nous a demandé d'apprendre le langage python grâce à super site : Cercle Informatique, waterloo.

Actuellement je suis bloqué à un exercice, dont voici l'énoncé :

Pour la première partie, il y a une seule route entre les deux villes. La route a trois ponts avec des limites de poids abc, comme indiqué sur le dessin ci-dessous:

Pour pouvoir conduire sur cette route, le camion doit d'abord passer la pont avec avec une limite de poids a, puis celui avec avec une limite de poids b, et enfin celui avec avec une limite de poids c. Votre camion aura un accident s'il dépasse l'une des trois limites. Ecrivez un programme qui affiche le poids maximum qui peut être transporté sur cette route. Votre code utilisera le fait que les variables ab, and c contiennent déjà les valeurs des poids limites pour les ponts.


Pour l'instant j'ai écrit ce code :


print(min(a, b, c))

print(a+b+c-min(a, b, c)-max(a, b, c))

print(max(a, b, c))


Mais on sait que min et max sont des fonctions qui ne prennent que 2 arguments (pas trois !) J'en déduis donc qu'il faut travailler en 2 étapes (la troisième valeur prend la "gagnante" de la première comparaison). En gros, si le camion passe sur le pond dont la limite est la plus basse, il passera forcément sur les autres... Mais je bloque :(

Pouvez vous m'éclairez s'il vous plait?

Merci et bonne soirée!

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2015 à 21:16:19

Bonjour,

Et si tu essayais ce genre d'écriture:

a, b, c = 1, 2, 3
print(min(min(a, b), c))

Bon courage

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2015 à 21:30:56

Ou plus simplement:

min((a, b, c))
  • Partager sur Facebook
  • Partager sur Twitter
Précepte: Le mieux est l'ennemi du bien
Anonyme
2 novembre 2015 à 7:08:40

Le nombre d'argument de min et max n'est pas limité !

>>> min(1, 2, 3, 4, 5, 6)
1
>>> max(1, 2, 3, 4, 5, 6)
6
  • Partager sur Facebook
  • Partager sur Twitter
2 novembre 2015 à 20:30:36

Enfin c'est sans doute pas ce qui est demandé, je suppose qu'il faut au moins recoder un équivalent de la fonction min, sinon l'exercice perd toute son utilité^^
  • Partager sur Facebook
  • Partager sur Twitter
4 novembre 2015 à 13:56:49

rocklee.gt a écrit:

Bonjour,

Et si tu essayais ce genre d'écriture:

a, b, c = 1, 2, 3
print(min(min(a, b), c))

Bon courage

J'ai essayé et ce n'est pas correcte désolé ^^

Olygrim a écrit:

Ou plus simplement:

min((a, b, c))

Non plus

Edit : en fait si c'était presque ça, voici donc la réponse correct :

  • print(min(a, b, c))

celthon a écrit:

Le nombre d'argument de min et max n'est pas limité !

>>> min(1, 2, 3, 4, 5, 6)
1
>>> max(1, 2, 3, 4, 5, 6)
6


Merci pour l'info :)

Et merci tout le monde pour m'avoir éclairé!



-
Edité par MaX1Mu55 4 novembre 2015 à 13:58:48

  • Partager sur Facebook
  • Partager sur Twitter
4 novembre 2015 à 14:05:06

"Non plus"

Si, si je t'assure que mon code fonctionne smiley. Qu'entends-tu par: «J'ai essayé et ce n'est pas correcte»? Si tu parles du site, peut-être faut-il écrire le code dans une fonction qui prendra 3 paramètres et qui renverra la valeur du minimum.

EDIT: Bon je viens de voir la modification de ton message précédent. C'est cool ^^

-
Edité par Olygrim 4 novembre 2015 à 14:07:12

  • Partager sur Facebook
  • Partager sur Twitter
Précepte: Le mieux est l'ennemi du bien
4 novembre 2015 à 14:43:30

Olygrim a écrit:

"Non plus"

Si, si je t'assure que mon code fonctionne smiley. Qu'entends-tu par: «J'ai essayé et ce n'est pas correcte»? Si tu parles du site, peut-être faut-il écrire le code dans une fonction qui prendra 3 paramètres et qui renverra la valeur du minimum.

EDIT: Bon je viens de voir la modification de ton message précédent. C'est cool ^^

-
Edité par Olygrim il y a 34 minutes

Effectivement il marche très bien, je l'avais mal recopié ^^

Merci encore et bonne journée!

  • Partager sur Facebook
  • Partager sur Twitter
29 mars 2022 à 13:31:08

faire un reproche en 2022 sur un post qui date de 2015, il y a de la rancoeur :lol:
  • Partager sur Facebook
  • Partager sur Twitter
29 mars 2022 à 13:56:41

Ça, c'est du déterrage de haute voltige... :lol:
  • Partager sur Facebook
  • Partager sur Twitter
29 mars 2022 à 14:18:49

DiderWagner a écrit:

Olygrim, comment osez vous prétendre faire partie de la communauté des codeurs de Python ? Vous reprochez à une délicieuse et sublime camarade que son divin code ne marche point, alors que c'est entièrement votre faute, vous et vos mains de marsouins qui ne savent pas taper deux lignes de codes proprement.

Dégagez de la.

Bien a vous,

Dider

Codeur Python depuis 2004.

Le fait d'être codeur chez les vieux n'empêche pas d'être poli et respectueux... En attendant, le reproche que vous faîtes ne semble pas être fait à la bonne personne, Olygrim ayant donné la bonne réponse à la problématique du sujet. Ensuite il n'a tapé qu'une seule ligne et non deux, ce qui lui a donné apparemment plus de chance de réussite :lol:

-
Edité par fred1599 29 mars 2022 à 14:19:30

  • Partager sur Facebook
  • Partager sur Twitter

Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

29 mars 2022 à 15:45:33

Pour info, le message auquel umfred répond a disparu, avec son propriétaire : compte créé dans la journée, message insultant ici, menaces par MP… donc compte supprimé :D

(et je ferme ici puisque c'est résolu)

-
Edité par Lamecarlate 29 mars 2022 à 15:45:49

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)