Aller au contenu

programmer l'affectation


maël/missme

Messages recommandés

  • Réponses 53
  • Created
  • Dernière réponse

Top Posters In This Topic

Top Posters In This Topic

Posted Images

  • E-Bahut

Non, on ne met rien après le def programme(nombre): ni après le return resultat qui renvoie la valeur du calcul.

Et si tu veux utiliser x, il faut le définir. Donc le script est

def programme(nombre):

  x=nombre

  resultat=3*(2*x+7)-6*x

  return resultat

 

que tu appelles par print(programme(1)) par exemple.

 

Là je m'absente jusque vers 16h30. Si quelqu'un veut prendre le relais, qu'il n'hésite pas.

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Finalement, je suis de retour plus tôt que prévu.

Ton script ne peut pas fonctionner pour deux raisons

* x n'est pas défini, la variable définie dans le def est nombre, donc c'est celle-ci qu'il faut utiliser. Je t'ai dit que, si tu veux utiliser x, il faut le définir au départ par x=nombre.

Mais tu peux t'en passer à condition d'utiliser nombre dans le calcul :

resultat=3*(2*nombre+7)-6*nombre

* print(programme(1)) doit être en dehors du def, sinon, il est considéré comme faisant partie du def et probablement ignoré.

 

Donc le script est

def programme(nombre):
   resultat=3*(2*nombre+7)-6*nombre
   return resultat
 
print(programme(1))

 

Lien vers le commentaire
Partager sur d’autres sites

Exercice 6

image.png.dc5ecc8a8a5952b4a82334297eb64847.png

image.png.72033096958fa1e353445d04af2be9d1.png

1 def frais(revenu):

2        if revenu<4000:

3        resultat=(2//100)4000*

4        else:

5                (3//100)4000*

6        return ...

 

 

image.png.c922bfd2eaabb4f3ce8e262c89c1fd07.png

def f(x)

       if x<0

       A= 2**x+1

        else:

              if x⩾ 0

            B= -3x + 1

        returne A,B

image.png

 

 

Exercice 5 

resultat=3*(2*nombre+7)-6*nombre

oui je comprends

2. tester le programme de calcul avec différents nombres décimaux. Que constate-ton ?

J'essaie et je poste

si le nombre est 1

j'ai ?

image.png.7f839747070eb5cf6bc41307e74bb126.png

mais ça ne fonctionne pas

Ah oui * print(programme(1)) doit être en dehors du def, sinon, il est considéré comme faisant partie du def et probablement ignoré.

 

donc effectivement

def programme(nombre):
   resultat=3*(2*nombre+7)-6*nombre
   return resultat
 
print(programme(1))

je recommence

image.png.b3df98297f7a28e1b1f728e57ad59328.png

ça ne fonctionne toujours pas

Modifié par maël/missme
Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Attention, print(programme(1)) doit être en début de ligne, sinon il continue à être considéré comme faisant partir du def.

C'est le problème (ou l'avantage) de Python par rapport à d'autre langages. Il n'y a pas de "début"..."fin", l'interpréteur ne considère que les indentations (retraits en début de ligne) et tout ce qui est en retrait fait partie de l'instruction de départ. Pour une nouvelle instruction indépendante, il faut la coller en début de ligne.

Modifié par julesx
Lien vers le commentaire
Partager sur d’autres sites

oui

 

3(2x+7) - 6x = 6x + 21 - 6x = 21

Sans vouloir abuser pouvez-vous me dire si la suite est correcte ? Merci

image.png.2a500a7152d3cf7ff3315728d8f0c30e.png

image.png.4104642a34eefbc2e4bdacbd5b05eab3.png

 

1def frais (revenu):

2       if revenu<4000

3           resultat = 2//100revenu*

4          else :

5                   3//100revenu*

6           returne...

 

le 6 je ne sais pas

 

Modifié par maël/missme
Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Pour la fonction définie par morceaux, plusieurs erreurs.

def f(x)

       if x<0

       A= 2**x+1 cela voudrait dire 2x+1, c'est A=2*x**2+1

        else:

              if x⩾ 0 inutile, si x n'est pas inférieur à 0, il est supérieur ou égal à 0

            B= -3x + 1 non, il faut garder la même variable dans ce type d'instruction et ne pas élider le signe de multiplication A=-3*x+1

        return A

 

Lien vers le commentaire
Partager sur d’autres sites

j'ai corrigé l'exercice avant.

je regarde celui-ci

Pour la fonction définie par morceaux,

Puis-je faire comme ça ?

 

def f(x)

       if x<0

          resultat = 2*x**2+1

       else:

          -3*x+1

       return resultat

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Pour l'autre, tu as écrit

1def frais (revenu):

2       if revenu<4000

3           resultat = 2//100revenu*

4          else :

5                   3//100revenu*

6           returne...

correction

1 def frais (revenu):

2       if revenu<4000: oubli du double point

3           resultat=2/100*revenu pas de // qui serait la division euclidienne et qui donnerait 0 pour 2//100 et mauvaise place du signe de multiplication

4       else :

5             resultat=3/100*revenu idem et rajout de résultat

6      return resultat  rajout de résultat

 

appel par print(frais(2000)) par exemple

Modifié par julesx
Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut

Attends, on va procéder par ordre.

il y a 13 minutes, maël/missme a dit :

def f(x)

       if x<0

          resultat = 2*x**2+1

       else:

          -3*x+1

       return resultat

Il manque des éléments,

def f(x): le double point

       if x<0: idem

          resultat=2*x**2+1 attention, aucun espace entre les signes mathématiques.

       else:

          resultat=-3*x+1 il faut aussi mettre resultat en tête

       return resultat

 

Finis déjà celui-la.

Lien vers le commentaire
Partager sur d’autres sites

image.png.b65d84c2d95b4e42ac774e9bab6810fc.png

image.png.a82c74e4e01fb09f5ede5f0e826eddba.png

1 def frais (revenu):

2        if revenu < 4000:

3           resultat = 2/100*revenu

4        else:

5           resultat=3/100*revenu

6         return resultat

 

voilà je l'ai récrit

 return resultat  rajout de résultat

je ne comprends pas

 

Lien vers le commentaire
Partager sur d’autres sites

j'ai refait exercice 4 qui ne devait pas être correcte :

 

Exercice 4

Ecrire un programme où l'on saisit deux nombres entiers naturels au départ et où l'on obtient le quotient et le reste de la division euclidienne de ces deux nombres en sortie.

affecter à A la valeur int (imput ("A="))

affecter à B la valeur int (imput ("B="))

affecter à C la valeur A//B

affecter à D la valeur A%B

print C

print D

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

  • E-Bahut
il y a 31 minutes, maël/missme a dit :

1 def frais (revenu):

2        if revenu < 4000:

3           resultat = 2/100*revenu

4        else:

5           resultat=3/100*revenu

6         return resultat

C'est bon, mon "rajout de résultat" correspondait à une version précédente où ça manquait.

 

il y a 9 minutes, maël/missme a dit :

Exercice 4

Ecrire un programme où l'on saisit deux nombres entiers naturels au départ et où l'on obtient le quotient et le reste de la division euclidienne de ces deux nombres en sortie.

affecter à A la valeur int (imput ("A="))

affecter à B la valeur int (imput ("B="))

affecter à C la valeur A//B

affecter à D la valeur A%B

print C

print D

Attention, ça, c'est pas du Python ! Il aurait fallu écrire

A=int(input("A="))
B=int(input("B="))
C=A%B
D=A//B

et, comme dit aussi, préciser à quoi correspondent les résultats

print ("Quotient ",D)
print ("Reste ",C)
 

 

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement

×
×
  • Créer...
spam filtering
spam filtering