脚本(如 python)和高级语言(如 C)在这种行为中看起来有所不同,但我想知道有可能的方式或其他方式来实现这一点。
在我的 python 脚本中,一方面,我想查看蒙特卡洛模拟的过程以查看发生了什么,另一方面,我想运行动态并在最后查看最终结果.目前,可以通过如下更改某些部分来实现。但是,如果我要使用两个不同的 main.py,那将非常麻烦,因为无论何时更改文件中的某些内容,都需要更改另一个文件中的相同部分。本方法如下。这是动画脚本的结构,显示了模拟过程中的每一帧
import python_animation_modules
import ...
def init():
bla, bla
return lines,
def simulation():
globals
bla, bla
set_lines() - redefine data using set_data
return lines,
animation.FuncAniaion(..frames=Nstep..)
plt.show()
我可以更改它以显示最后一个数字。
def init():
bla, bla
return lines,
while (i<Nax_num):
#def simulation():
# globals
bla, bla
set_lines() # redefine data using set_data
#return lines,
#animation.FuncAniation(...MAX_num.)
plt.show()
是否有可能的方式,例如 C 使用预处理器或其他精密技术在 python 。在 C 中,这是可能的,
#define DYNAMICS
#ifndef DYNAMICS
while( i< MAX_num):
#else
def simulation():
# globals
您似乎想使用 #IFDEF
来避免重复代码...但为什么不明确地使用代码呢?像这样的东西:
def simulate():
bla, bla
set_lines()
def simulation():
globals
simulate()
return lines,
def dynamics():
animation.FuncAniation(...MAX_num.)
def no_dynamics():
while (i < MAX_num):
simulate()
if DYNAMICS: dynamics()
else: no_dynamics()
plt.show()
根本的想法是:将公共(public)位分解到它自己的例程中,然后从包含特定案例代码的包装器中调用它。
我是一名优秀的程序员,十分优秀!