Je me pose le problème suivant :
Dans les exos sur Python/maths apparaissent de nombreuses questions revenant à tester si un nombre entier est un carré ou un cube.
Depuis un certain temps je faisais comme je l'ai vu dans des corrigés :
qui me laissait un petit gout amer mais bon cela marchait.int(sqrt(n))==sqrt(n)
Ensuite j'ai eu à le faire pour des cubes et là : problème car
.64**(1/3)=3.999999999999997
On peut rusé et mettre un
qui semble bien marcher.round(n**(1/3))**3==n
Néanmoins je me demande si il ne faudrait pas rester dans le type entier pour toutes ces questions et tester avec une boucle :
for k in range(0,n):
if k**2==n:
return True
return False
Qu'en pensez vous ?