Aller au contenu

programmer l'affectation


maël/missme

Messages recommandés

  • Réponses 53
  • Created
  • Dernière réponse
  • E-Bahut
Posté(e)

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.

Posté(e)

 

def programme(nombre):

  x=nombre (je n'ai pas ça dans l'énoncé donc je ne dois pas mettre ça ?)

  resultat=3*(2*x+7)-6*x (mais du coup ni x ?)

  return resultat

image.png.29f95df0d70fac2f66e692f518289ac3.png

  • E-Bahut
Posté(e)

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))

 

Posté(e)

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

  • E-Bahut
Posté(e)

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.

  • E-Bahut
Posté(e)

Tu as bien écrit programme(1), programme(2) etc... ?

du coup on constate que quelque soit la valeur de x Python renvoie toujours la même valeur soit 21

C'est normal, si tu développes la fonction, qu'est-ce que tu obtiens ?

Posté(e)

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

 

  • E-Bahut
Posté(e)

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

 

Posté(e)

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

  • E-Bahut
Posté(e)

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

  • E-Bahut
Posté(e)

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.

Posté(e)

D'accord donc je reprends :

def f(x):

       if x<0:

          resultat=2*x**2+1

       else:

          resultat=-3*x+1

       return resultat

Posté(e)

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

 

Posté(e)

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

  • E-Bahut
Posté(e)
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)
 

 

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

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