Inscription / Connexion Nouveau Sujet
Niveau Loisir
Partager :

python instruction If...else

Posté par
tetras
14-10-22 à 22:38

bonjour
j'essaie de faire un programme python avec l'instruction if...else

ecrire une fonction Python qui affiche la probabilité que la patineuse réussisse le 2è saut selon sa réussite au saut précédent

si s1 réussi la proba que s2 soit réussi est de 0,855
sinon si s1 pas réussi la proba que s2 soit réussi est de0, 035

j'ai tapé sur une calculatrice numworks :

def test (R1) :
p=0
  if R1==1:
    p=0,855
   else:
    p=0,035
   return p

je ne comprends pas pourquoi sur mon écran le else et le return sont bien alignés mais ne le sont pas avec le if . Ils le sont avec le f du iF

et mon programme ne fonctionne pas

Posté par
carpediem
re : python instruction If...else 14-10-22 à 22:46

salut

dès le départ l'instruction p = 0 n'est pas indentée

utilise l'icone </> en dessous de ce cadre pour écrire du code entre les balises :

[code][/code]

Posté par
tetras
re : python instruction If...else 14-10-22 à 22:52

Citation :
dès le départ l'instruction p = 0 n'est pas indentée

ah il faut qu'elle le soit?

Posté par
tetras
re : python instruction If...else 14-10-22 à 22:55

def test (R1) :
 p=0
  if R1==1:
    p=0,855
   else:
    p=0,035
   return p 


Je ne comprends pas ces balises

Posté par
ty59847
re : python instruction If...else 14-10-22 à 23:26

Retape tout du début à la fin. Ca ira plus vite.
Le i de if devrait être en-dessous du p de p=0.

Posté par
carpediem
re : python instruction If...else 15-10-22 à 08:45

les instructions p = 0, if ... et else ... et return doivent être indentées de la même façon

Posté par
mathafou Moderateur
re : python instruction If...else 15-10-22 à 10:42

Bonjour

et en passant :
0,855 (virgule) représente deux nombres séparés : 0 et 855
et pas du tout le nombre décimal 0.855 qui s'écrit en Python obligatoirement avec un point décimal.

Posté par
tetras
re : python instruction If...else 15-10-22 à 13:01

ok je vais recommencer merci

Posté par
tetras
re : python instruction If...else 16-10-22 à 17:54

def test(R1)
 p=0
 if R1==1:
    p=0.855
 else:
    p=0.035
 return p


sur ma calculatrice quand je fais un espace avant le if il se décale à droite et ne se place pas sous le if de façon alignée

Posté par
carpediem
re : python instruction If...else 16-10-22 à 18:06

il manque les deux points : à la fin de la ligne def ...

il n'y a pas d'espace à faire car l'indentation se fait automatiquement !!

Posté par
tetras
re : python instruction If...else 31-10-22 à 13:38

Je l'ai écrit de nouveau sur ma calculatrice avec l'aide de la "boîte à outils"
L'indentation se fait automatiquement en effet.
Je n'ai plus de message d'erreur mais rien ne se passe dans la console d'exécution.
J'ai juste from ifelse import *

Le titre de mon programme qui s'affiche

Posté par
tetras
re : python instruction If...else 31-10-22 à 13:41

Par contre je remarque que le return p n'est pas aligné avec if, else
Mais avec p=0.035 la ligne précédente.
Comment faire ?
Merci

Posté par
carpediem
re : python instruction If...else 31-10-22 à 13:46

il suffit d'effacer l'indentation en trop pour revenir à l'indentation précédente

ensuite ton programme tourne (s'il n'a pas d'erreur) mais faut peut-être lui demander d'afficher le résultat avec l'instruction

print (test(0.45))

par exemple ...

Posté par
tetras
re : python instruction If...else 31-10-22 à 13:47

Je l'ai aligné avec le else mais rien ne change

Posté par
carita
re : python instruction If...else 31-10-22 à 14:07

bonjour,
tu en es où à présent ? qu'est-ce qui bloque ?

Posté par
ty59847
re : python instruction If...else 31-10-22 à 14:53

Tu demandes à ta calculatrice de faire des calculs. Elle fait des calculs.
Si tu ne demandes pas d'afficher le résultat des calculs, elle ne va pas l'afficher.

Et l'instruction pour demander d'afficher quelque chose, c'est print.

Posté par
tetras
re : python instruction If...else 31-10-22 à 17:38

je pensais que le programme allait me demander d'entrer une valeur
mais en fait c'est à moi de taper dans la console d'exécution
test(0.1)
et il renvoie 0,035

donc c'est bon!?



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1683 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !