gpt4 book ai didi

python - 使用 Python 的 PLAXIS API

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:25 24 4
gpt4 key购买 nike

我是编程初学者。最近,我使用python API远程控制一个名为PLAXIS(岩土软件)的软件。 PLAXIS中有一些代码可以通过添加g_i来访问。在程序内部代码前面。例如,有一个内部程序代码:'Phase_8.ShouldCalculate = True'。因此在 Python 中,格式将为“g_i.Phase_8.ShouldCalculate = True”。而且,我有超过10个阶段。现在,我实际上正在代码中编写每个阶段。我可以知道有没有更优雅的方法来做到这一点?请原谅我糟糕的英语。

非常感谢!

我尝试定义一个函数,但它不起作用。

####What I am doing now####
if k >= 1:
g_i.Phase_1.ShouldCalculate = True

if k >= 2:
g_i.Phase_2.ShouldCalculate = True

if k >= 3:
g_i.Phase_3.ShouldCalculate = True

if k >= 4:
g_i.Phase_4.ShouldCalculate = True

if k >= 5:
g_i.Phase_5.ShouldCalculate = True

if k >= 6:
g_i.Phase_6.ShouldCalculate = True

if k >= 7:
g_i.Phase_7.ShouldCalculate = True

if k >= 8:
g_i.Phase_8.ShouldCalculate = True

if k >= 9:
g_i.Phase_9.ShouldCalculate = True

if k >= 10:
g_i.Phase_10.ShouldCalculate \
= True



####The function that I defined####
def setactive(k):
g_i.Phase_(k).ShouldCalculate = True

for i in (1,k+1):
setactive(i)

最佳答案

因此,根据 k 的值,您似乎想要 g_i.Phase_N.ShouldCalculate如果 N <= k 则为真.

为了实现这一目标,我会将各个阶段放入一个列表中,如下所示:

phases = [g_i.Phase_1, g_i.Phase_2, g_i.Phase_3,
g_i.Phase_4, g_i.Phase_5,] # add more yourself

现在您可以访问g_i.Phase_Nphases[N-1] (例如 phases[3]g_i.Phase_4 )。

所以,您所要做的就是:

for i, phase in enumerate(phases):
if i <= k-1:
phase.ShouldCalculate = True

# maybe you also want this?
# else:
# phase.ShouldCalculate = False

关于python - 使用 Python 的 PLAXIS API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54313231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com