J'essaie d'écrire une instruction IF qui prend un flottant comme une plage.
Merci. P>
if x > 0 <= 4.4
3 Réponses :
Utilisez où x est au milieu. C'est équivalent à p> plage code> ne convient pas à cette tâche. P> p>
Vous n'avez pas besoin plage () code>. Utilisez simplement des comparaisons et utilisez
elif code> de sorte que les plages sont exclusives.
if x < 4.5:
print('one')
elif x < 8:
print('two')
elif x < 10:
print('three')
else:
print('four')
Serait-il des problèmes avec des valeurs telles que x = 4,56 ou x = 8,01?
Non, c'est la raison pour laquelle je n'ai pas mis de limites aux deux extrémités des gammes.
4.56 code> imprimera
deux code>,
8.01 code> imprimera
trois code>.
Que doit être imprimé lorsque x == 10 code>? Ce n'est pas dans la plage
8.1 à 9,9 code>, mais ce n'est pas
> 10 code> non plus.
x = 8.3 if 0 <= x <= 4.4: print('one') if 4.5 <= x <= 8: print('two') if 8.1 <= x <= 9.9: print('three') if x > 10: print('four')
si 0 <= x <= 4.4 code>
Quelle sortie souhaitez-vous si
x code> est, disons, 4.45? Vos gammes ne couvrent pas tous les nombres réels non négatifs.
En outre,
x> 0 <= 4.4 code> signifie
x> 0 et 0 <= 4.4 code>, et ce dernier est bien sûr inintéressant. Vous devez utiliser la syntaxe de comparaison chaînée suggérée par @barmar.