def am_i_alive():
hit_points = 20
if hit_points == 0:
print 'dead'
elif hit_points <= 5:
print 'almost dead'
else:
print 'alive'
am_i_alive()
- Vous devez le mot-clé
def
pour définir une fonction.
- Vous devez utiliser
==
et non =
pour les comparaisons.
- Vous chaînez les instructions if en utilisant
elif
.
autre que cela, il semble bon. Comme dans correct et compilera. Il donnera toujours la même valeur cependant.
Une meilleure façon de le faire est la suivante:
def am_i_alive(hit_points):
if hit_points == 0:
print 'dead'
elif hit_points <= 5:
print 'almost dead'
else:
print 'alive'
am_i_alive(20)
am_i_alive(3)
am_i_alive(0)
Ici, nous passons un « argument » à la fonction. nous l'appelons am_i_alive(x)
où x
peut être n'importe quel nombre. Dans le code pour la fonction am_i_alive
, tout ce que nous mettons à la place de x
devient la valeur référencée par hit_points
.
Une fonction peut également prendre deux arguments. (en fait, jusqu'à 255 arguments)
def am_i_alive(hit_points, threshold):
if hit_points == 0:
print 'dead'
elif hit_points <= threshold:
print 'almost dead'
else:
print 'alive'
am_i_alive(20, 5)
am_i_alive(3, 2)
am_i_alive(0, 10)
Pouvez-vous comprendre ce que fait la dernière version?
Je ne l'ai pas lu parce que python est pas ma langue maternelle, mais on me dit que cela est une très bonne introduction to python and programming.
Où se trouve votre test élémentaire? Si vous écrivez quelques cas de test, vous sauriez quelles étaient les erreurs, n'est-ce pas? –
@ S.Lott Dans le cas du code affiché, je dirais que c'est son propre test unitaire;) – aaronasterling