J'ai créé cette ligne de code aujourd'hui qui détermine si un nombre divise uniformémentUn moyen de raccourcir ce code?
if (numerator/denominator * denominator) == numerator:
print "Divides evenly!"
else:
print "Doesn't divide evenly."
Pourtant, je suis tombé sur un problème lors de la division par 0 comme je le voulais encore me dire si elle diviserait même si le dénominateur était 0 en regardant le numérateur et en voyant si c'était pair ou impair. Je suis venu avec ceci:
if denominator != 0 and (numerator/denominator * denominator) ==
numerator:
print "Divides evenly!"
elif denominator == 0 and numerator % 2 == 0:
print "Divides evenly!"
else:
print "Doesn't divide evenly."
Y at-il un moyen de raccourcir cela? Aussi, est-il possible de ne pas avoir à ajouter la nouvelle déclaration 'elif'?
ne sera pas denominater annuler ici? – Joe
Je pense que ce serait mieux adapté sur https://codereview.stackexchange.com/ – bummi
Je suppose que vous comptez sur la division entière '//', qui est nécessaire dans Py3. 'numérateur/dénominateur * dénominateur) == numérateur' est équivalent à' numérateur% dénominateur == 0'. Diviser par «0» est indéfini et il est inutile de dire que cela divise uniformément. – AChampion