考虑一个 100X100 阵列。
- 在这样的数组中生成一个包含数千个随机位置的数组,例如 (3,75) 和 (56, 34)。
- 计算您的一个随机位置在任何(直)边缘的 15 像素范围内的频率
我正在尝试做上述问题以帮助我学习编程语言 Python,我是编程新手。
这是我到目前为止所拥有的:
from __future__ import division
from pylab import *
import math as m
from numpy import *
array1=[]
nMax=1001
n=1
while n<nMax:
array1.append(random.randint(1, 101))
n=n+1
array1=array(array1)
array1=array1.reshape(1000,1)
print array1
array2=[]
nMax=1001
n=1
while n<nMax:
array2.append(random.randint(1, 101))
n=n+1
array2=array(array2)
array2=array2.reshape(1000,1)
print array2
这会产生两个包含 1000 个随机整数的单列数组。一个数组是我的随机 x 坐标集,另一个数组是我的随机 y 坐标集。我正在尝试合并这两个数组,以便我有一个 x 和 y 坐标数组,我该怎么做?一旦我有一个随机 x 和 y 坐标数组,我就可以使用 if 和 else 语句来完成问题吗?例如,如果 xcoordinate>85 或 xcoordinate<15 或 ycoordinate>85 或 ycoordinate<15 然后将一个数字附加到一个空列表,然后使用列表的长度作为计数器?
请问有人可以就这个问题给我一些指导吗?我做对了吗?如果是这样,我怎么不是?如果是这样,我该如何继续?
. . . 感谢大家的帮助。
我现在已经设法完成了这两个部分,但现在我面临着将其作为对前一个部分的扩展的挑战:
iii)计算您的一个随机位置在半径为 50 像素的圆的(任一侧)15 像素内的频率,并将结果写入屏幕,例如,阵列中平均 N% 的位置落在该区域内[N 是 0 到 100 之间的数字] 请注意,角落的坐标在圆的 15 像素范围内,那么它们应该包含在其中(如果它们距离超过 15 像素,那么它们不应该包含在内)。
iv) 添加代码,向用户请求您的阵列内的位置,然后在该位置落在该区域时提醒他们,例如警告:您选择的位置落在圆的边缘附近。
我该怎么做呢?我什至不知道从哪里开始。有人可以给我一些指示吗?谢谢