我是 python 的新手,我对了解更多关于我的函数的效率感兴趣。例如,使用生成器与返回列表的普通 getter 函数。听说你可以用下面的代码来测量你的python程序使用的内存。
import psutil
print(psutil.virtual_memory())
Run Code Online (Sandbox Code Playgroud)
我成功安装了 pip,但我无法在终端上使用以下命令安装 psutil
pip install psutil
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
cc -bundle -undefined dynamic_lookup -arch x86_64 -arch i386 -Wl,-F. build/temp.macosx-10.12-intel-2.7/psutil/_psutil_posix.o -o build/lib.macosx-10.12-intel-2.7/psutil/_psutil_posix.so 运行 install_lib 创建 /Library/Python/2.7/site-packages/ psutil 错误:无法创建“/Library/Python/2.7/site-packages/psutil”:权限被拒绝
在此之前还有更多文字。在我看来,存在某种许可问题。我该如何解决?我正在从 Sublime Text Editor 运行 Python 3。在它提到的错误“创建/图书馆/ Python的/ 2.7 /站点包/ psutil”。
我一直在努力Project Euler #23
.
这是任务:
问题23
完美数字是一个数字,其正确除数的总和恰好等于数字.例如,28的适当除数之和为1 + 2 + 4 + 7 + 14 = 28,这意味着28是一个完美数.
如果n的适当除数之和小于n,则数n被称为不足,如果该和超过n,则称其为n.
由于12是最小的有限数,1 + 2 + 3 + 4 + 6 = 16,可以写成两个有限数之和的最小数是24.通过数学分析,可以显示所有整数大于28123可以写成两个数字的总和.然而,即使已知不能表示为两个充裕数的总和的最大数量小于该限制,也不能通过分析进一步减小该上限.
找到所有正整数的总和,这些正整数不能写为两个数字的总和.
这是我的代码:
import math
def getDivisors(num):
n = math.ceil(math.sqrt(num))
total = 1
divisor = 2
while (divisor < n):
if (num%divisor == 0):
total += divisor
total += num//divisor
divisor+=1
return total
def isAbundant(num):
if (getDivisors(num) > num):
return True
else:
return False
abundentNums = []
for x in range …
Run Code Online (Sandbox Code Playgroud)