/ / Pourquoi utiliser def power (x) et math.pow (x, n)? - python

Pourquoi utiliser def power (x) et math.pow (x, n)? - python

Voici ce que je devais accomplir:

Écrivez un script Python qui imprimera les entiers de 1 à 10, et leurs racines carrées et racines de cube.

Utilisez la liste: range (1,11,1) définir les nombres.

Utilisation math.pow(x,n) fonction.

Pour calculer les racines carrées et les racines de cube, définissez la fonction power (def power (x) etc.) qui calcule ces valeurs.

Ensuite, imprimez-les sous la forme x,sqrt(x),cuberoot(x), un en dessous de l'autre (print commande doit être en dehors de la power une fonction).

Utiliser le for commande [par exemple, for i in range (1,11,1): ] et à chaque valeur de i appeler la fonction power(x) pour compléter le calcul et renvoyer le résultat, puis imprimer le résultat sur l'écran.

voici mon code:

list=range(1,11,1)

for i in list:
print i
for i in list:
print i**.5
for i in list:
print i**(1.0/3)

Donc, évidemment, je n’ai utilisé aucun des outils requiscommandes, parce que quand j’essayais d’utiliser math.pow, il me répétait que l’argument de chaîne devait être une chaîne ou un nombre. J'ai besoin d'aide, je suis perdu. Au moins, pointez-moi dans la direction de départ. Parce que même si mon code fonctionne, je sais qu’il ne sera pas accepté.

Réponses:

1 pour la réponse № 1

Je vais vous donner un indice que par ceci

Pour calculer les racines carrées et les racines de cube, définissez la fonction power (def power (x) etc.) qui calcule ces valeurs

Cela ne signifie pas littéralement def power(x), ça veut dire def sqrt(x) et def cuberoot(x) cette return math.pow(x, <power>) pour chaque puissance respective.

math.pow(x, n) fonctionne correctement, bien que vous aurez besoin import math.


À noter également que

for i in list:
print i
for i in list:
print i**.5
for i in list:
print i**(1.0/3)

Devrait probablement être écrit comme ça (sauf avec le code correct en suivant les instructions). Le plus important: ne pas remplacer la list fonctionner avec une variable.

for i in range(1, 11, 1):
print i
print i**.5
print i**(1.0/3)

Ou peut-être cela puisqu'il dit "sous la forme x,sqrt(x),cuberoot(x), l'un en dessous de l'autre "

for i in range(1, 11, 1):
print i, i**.5, i**(1.0/3)

0 pour la réponse № 2

Vous avez indiqué que vous ne savez pas comment utiliser la définition de puissance et renvoyer le tuple. Vous devriez lire la définition de def et return mais la voici.

import math
def power(x):
sq = math.pow(x, 0.5)
cub = math.pow(x, 1.0/3)
return(sqr, cub)

Maintenant, appelez de l'intérieur de la boucle avec

(sqrt, cube) = power(i)
print(i, sqrt, cube)

Notez que les noms dans la définition et pour l'appel sont différents seulement pour montrer qu'ils sont dans des domaines différents. Cela fonctionnerait même si vous leur donniez les mêmes noms.