Sagot :
Réponse :
Explications étape par étape :
1) Renvoie les carrés inférieur à un nombre n donné
exemple pour n = 10 le script renvoie
>>> carre(10)
0
1
4
9
>>>
2)
Que fait la commande « from math import * »?
Elle importe le module math
Pourquoi l’utilise-t-on ici ?
pour utiliser la fonction sqrt (racine carrées)
(b) À quoi correspond l’instruction « if b == round(b,0): »?
test si b est entier ( b est égal à son arrondi avec 0 chiffre derrière la virgule)
(c) Zoé lit le code de la fonction et propose de réduire le nombre de tours de
boucle réalisés en remplaçant l’instruction « a**2 <= n » à la ligne 5 par
l’instruction « a**2 <= (n / 2) » .
i. Démontrez que le code fonctionne toujours correctement.
ii. Montrez que la modification ne réduit le nombre de tours de boucle
que dans les cas où la fonction renvoie la valeur « False ».
réalisation
1er code
>>> sommecarres(37)
6.082762530298219
6.0
True
>>>
code modifié
from math import *
def sommecarres(n):
a=0
while a**2 <= n/2:
b=sqrt(n- a**2)
print(b)
if b == round(b,0):
return True
a=a+1
return False
code modifié
>>> sommecarres(37)
6.082762530298219
6.0
True
>>>
1er code
>>> sommecarres(150)
12.24744871391589
12.206555615733702
12.083045973594572
11.874342087037917
11.575836902790225
11.180339887498949
10.677078252031311
10.04987562112089
9.273618495495704
8.306623862918075
7.0710678118654755
5.385164807134504
2.449489742783178
False
2eme code
>>> sommecarres(150)
12.24744871391589
12.206555615733702
12.083045973594572
11.874342087037917
11.575836902790225
11.180339887498949
10.677078252031311
10.04987562112089
9.273618495495704
False
>>> sommecarres(37)
6.082762530298219
6.0
True
>>>