这是我需要完成的事情:
编写将打印出整数1到10的Python脚本 他们的平方根和立方根。
使用列表:
range (1,11,1)
来定义数字。使用
math.pow(x,n)
功能。要计算平方根和立方根,请定义计算这些值的函数幂(
def power (x)
等)。然后,以
x
,sqrt(x)
,cuberoot(x)
的形式打印出来, 低于另一个(power
之外 功能)。利用
for
命令[例如,for i in range (1,11,1):
]和 每个值i
都会调用函数power(x)
来完成 计算并返回结果,然后打印出结果 屏幕。
这是我的代码:
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)
所以显然我没有使用任何必需的命令,因为当我尝试使用math.pow时,它一直告诉我字符串参数必须是字符串或数字。我需要帮助,我迷失了。至少指出我的方向。因为即使我的代码有效,我也知道它不会被接受。
答案 0 :(得分:1)
我将通过此
给你一个提示要计算平方根和立方根,请定义计算这些值的函数幂(
def power (x)
等)
它并不代表def power(x)
,它代表def sqrt(x)
和def cuberoot(x)
return math.pow(x, <power>)
代表各自的权力。
math.pow(x, n)
正常工作,但您需要import math
。
还应该注意到
for i in list:
print i
for i in list:
print i**.5
for i in list:
print i**(1.0/3)
应该这样编写(除非按照说明使用正确的代码)。最重要的是:不要用变量覆盖list
函数。
for i in range(1, 11, 1):
print i
print i**.5
print i**(1.0/3)
或者这可能是因为它以x,sqrt(x),cuberoot(x)
的形式表示&#34;一个低于另一个&#34;
for i in range(1, 11, 1):
print i, i**.5, i**(1.0/3)
答案 1 :(得分:0)
您声明您不确定如何使用电源定义并返回元组。你应该阅读def和return的定义,但现在是。
import math
def power(x):
sq = math.pow(x, 0.5)
cub = math.pow(x, 1.0/3)
return(sqr, cub)
现在使用
从循环内部调用(sqrt, cube) = power(i)
print(i, sqrt, cube)
请注意,定义内部和调用中的名称不同仅,以表明它们位于不同的范围内。即使你给他们相同的名字,它也会奏效。