単独で呼び出されるか、別の関数内で呼び出されるかに応じて、異なるものを返す関数をどのように作成しますか? 私の例は、関数 make_wave_snapshot(size,wavelength,phase) で、2次元配列を返し、グレースケール画像も表示します。もう 1 つの関数: make_wave_sequence(size,wavelength,nsteps) は、3 次元配列と、各ステップのグレースケール イメージを自動的に循環するグレースケール イメージも返します。
def make_wave_snapshot(size,wavelength,phase):
waves_array = np.zeros((size,size),np.float)
if size%2==0:
for y in range(size):
for x in range(size):
r = math.hypot((size/2 - x - 0.5),(size/2 - y - 0.5))
d = np.sin((2*math.pi*r/wavelength)-phase)/np.sqrt(r)
waves_array[y,x] = d
!!! # dp.display_2d_array(waves_array) #Shows visual representation
return waves_array #Displays array showing values
else:
return 'Please use integer of size.'
def make_wave_sequence(size,wavelength,nsteps):
waves_sequence = np.zeros((nsteps,size,size),np.float)
if nsteps%1==0:
for z in range(nsteps):
waves_sequence[z] = make_wave_snapshot(size,wavelength,(2*math.pi*z/nsteps))
!!! # dp.display_3d_array(waves_sequence)
return waves_sequence #Displays array showing values
else:
return 'Please use positive integer for number of steps'
if name = mainを知っていて、おそらく答えになると思いますが、関数をチェックするのに適していると言われただけで、実際の関数にどのように適合させるかわかりません。ありがとうございました。