考虑一个100X100阵列。 i)在这样的阵列内产生数千个随机位置的阵列,例如, (3,75)和(56,34)。 ii)计算一个随机位置落在任何(直线)边缘的15个像素内的频率。需要基本的Python编程帮助:数组和随机位置
我想要做上面的问题,以帮助我学习编程语言Python,我是编程新手。
这是我迄今为止得到:
from __future__ import division
from pylab import *
import math as m
from numpy import *
from random import randrange
N = 3000
coords_array = array([randrange(100) for _ in range(2 * N)]).reshape(N, 2)
这将创建N个随机位置的阵列,并没有我想创建一个循环,将一个1附加到一个空列表,如果x> 85或y> 85或x < 15或y < 15,然后如果x或y是别的,则将零附加到同一个空列表。然后,我会找到列表的总和,这将是我的随机位置落在边缘内的数量。
这是我试图做这样的事情:
coordinate=coords_array[x,y]
b=[]
def location(x,y):
if x>85 or y>85:
b.appnend(1)
if x<15 or y<15:
b.append(1)
else:
b.append(0)
print b
print x
,但我有麻烦分配数组变量x和y。我希望能够将一组随机坐标的每一行分配为x,y对,以便我可以在循环中使用它。
但我不知道该怎么做!
请有人告诉我该怎么做?
谢谢
只是一个快速提示。你可以像这样产生随机位置:'coords_array = randint(100,size =(3000,2))'。 'randint'来自'numpy.random' – 2013-04-10 12:07:56
因此,如果列表中包含的坐标大于85,那么您希望列表增加两个元素,否则只有一个元素?这是打算吗? – SingleNegationElimination 2013-04-10 12:13:12
这是三个几乎相同的问题之一。特别是,你可以从这里学到什么[这里回答](http://stackoverflow.com/questions/15903051/basic-python-programming-help-needed-involving-arrays-and-random-locations)? – YXD 2013-04-10 12:43:22