gpt4 book ai didi

python - 将代码从 VBA 语言转换为 Python 语言。努力检查我的工作

转载 作者:行者123 更新时间:2023-12-05 06:56:24 25 4
gpt4 key购买 nike

我需要将此 VBA 代码转换为 python。 vba形式的代码如下:

Function Findit(x As Integer, y As Integer, z As Integer) As Integer
Findit = x + y + z
If (y = x) Then
Findit = y
If (y < z) Then
Findit = z
EndIf
If (Findit <> x) Then
Findit = y
EndIf
Else
If (z = Findit) Then
Findit = y
Findit = x
EndIf
EndIf
End Function

所以我所做的是逐行浏览并尝试正确进行缩进,因为我知道这在 Python 中很重要。我的诱惑如下:

def Findit_f(x, y, z):
Findit = x + y + z

if x == y:
Findit += y
if y < z:
Findit += z

elif Findit != x:
Findit += y

else:
if z == Findit:
Findit += x
Findit += y

return Findit

但是没有办法检查它是否真实。确实没有错误,但确实如此,我需要有人通过解释(如果有错误)来验证我的工作,这样我才能理解发生了什么!我是 python 的新手,这就是我挣扎的原因。另外,有什么方法可以检查我是否正确地执行了操作?比如打印一个值什么的。因为我试过了,但是一旦我运行代码,就没有错误,也没有结果。它似乎运行成功,但我不确定我是否符合 python 中 VBA 代码的标准。再次感谢您,对于任何混淆,我们深表歉意!如果有什么需要澄清的,请告诉我!谢谢!

最佳答案

Here is a website for converting vba to pythonvb2py 在线转换器仍在开发中,但它可以作为引用点对您有所帮助。

您的代码示例可能类似于以下内容:

'
' Multi-line and singe-line ifs are converted to blocks in Python

Function Findtit(x, y, z)
Dim subLocal
subLocal = x + y + z

If (y = x) Then
Findit = y

ElseIf (y < z) Then
Findit = z

ElseIf (Findit <> x) Then
Findit = y

Else
If (z = Findit) Then
Findit = y
Findit = x
End If
End If
End Function

在 pyhton 中,这看起来像:

from vb2py.vbfunctions import *
from vb2py.vbdebug import *

"""
Multi-line and singe-line ifs are converted to blocks in Python
"""
def Findtit(x, y, z):
subLocal = Variant()
subLocal = x + y + z
if ( y == x ) :
Findit = y
elif ( y < z ) :
Findit = z
elif ( Findit != x ) :
Findit = y
else:
if ( z == Findit ) :
Findit = y
Findit = x
return fn_return_value

关于python - 将代码从 VBA 语言转换为 Python 语言。努力检查我的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65151198/

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