小编buz*_*zsh的帖子

设置参数默认来自python中的参数

我正在尝试为我定义的函数中的参数设置默认值.我还希望另一个参数的默认值取决于另一个参数.在我的例子中,我试图绘制氢的量子力学波函数,但你不需要知道物理学来帮助我.

def plot_psi(n,l,start=(0.001*bohr),stop=(20*bohr),step=(0.005*bohr)):
Run Code Online (Sandbox Code Playgroud)

n主要量子数在哪里,l是角动量,start,stop,step将是我计算的数组.但我需要的是,stop实际的默认值取决于n,这n将影响波函数的大小.

def plot_psi(n,l,start=(0.001*bohr),stop=((30*n-10)*bohr),step=(0.005*bohr)):
Run Code Online (Sandbox Code Playgroud)

将是我想要的,但n尚未定义因为线路不完整.有解决方案吗 或者想法以另一种方式来安排它?谢谢

python arguments default python-2.7

5
推荐指数
1
解决办法
60
查看次数

打破两个循环

我正在while循环中编写带有while循环的代码,并且我想知道如果我在内循环中遇到必要的条件,如何突破外循环.

while N <= 8:
    while i < 60:
        if this:
            that
        elif this:
            that other thing
        else:
            break
        i += 1
    if while loop has found the right thing:
        N += 1
    else:
        change conditions
Run Code Online (Sandbox Code Playgroud)

这个break命令只会突破第一个循环,所以我想知道如何简单地打破这两个循环.值得一提的是,所有这些都在另一个for循环中,我不想打破.谢谢.

python break while-loop

1
推荐指数
1
解决办法
99
查看次数

更改函数内函数的输出

你如何创建一个函数,它将返回不同的东西,这取决于它是单独调用还是在另一个函数中调用?我的例子是在函数中:make_wave_snapshot(大小,波长,相位),它返回一个二维数组,并且还显示一个灰度图像.另一个函数:make_wave_sequence(size,wavelength,nsteps)返回一个三维数组,还有一个灰度图像,可自动循环显示每一步的灰度图像.

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 …
Run Code Online (Sandbox Code Playgroud)

python numpy

0
推荐指数
1
解决办法
98
查看次数

标签 统计

python ×3

arguments ×1

break ×1

default ×1

numpy ×1

python-2.7 ×1

while-loop ×1