如果你想要的是Z到有多达100000
的i^4
值,你可以这样做:
import numpy as np
z = np.array(range(100))
k = 0
while k < len(z) - 1:
k = k+1
if k**4 >= 100000:
break
else:
z[k]=k**4
print(z)
我不知道这是计算这个最有效的方式,但我保留了类似的语法,以便您更容易理解这些更改。我这样做的方式:
import numpy as np
z = np.array(range(100))
for number in z:
if number**4 <= 100000:
z[number]=number**4
print(number**4)
else:
break
此,除了编辑列表值,也能达到你的“显示值这i^4
小于100000
”的要求。
Python化溶液使用列表理解:
z = range(100)
>>> [x**4 for x in z if x**4 <= 100000]
[0, 1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000, 14641, 20736, 28561, 38416, 50625, 65536, 83521]
'z1 = sum(i <100000 for i in z)'< - 这是一个语法错误。你的意思是使用列表理解吗? –
我不明白你为什么使用'k <277'。当'k = 101'时,while循环将不起作用,因为'z'只有100个项目。 –