Python 中的 If 语句和设置变量

If Statements and Setting Variables in Python

我正在尝试依次将 df1df2df3df4 传入 parseTwoPoleBreakers 函数。但是,只有 df1 是 运行。我的 if elif 语句是否有问题导致 df2df3df4 未传递到 parseTwoPoleBreakers 函数?

i=0
for j in range(0,4):
    if j==0:
        df=df1
    elif j==1:
        df=df2
    elif j==2:
        df=df3
    else:
        df=df4
    #execute this for each dataframe
    while (i<7):
        parseTwoPoleBreakers(7,8,"ab",i,df)
        breakerid+=1
        parseTwoPoleBreakers(9,10,"bc",i,df)
        breakerid+=1
        parseTwoPoleBreakers(11,12,"ca",i,df)
        breakerid+=1
        i+=1
    #j+=1
    print j

I'm trying to pass in df1, df2, df3 & df4 sequentially into the parseTwoPoleBreakers function

您的问题很可能与 if 语句中的变量作用域有关,或者 while i < 7 没有在 df1 之后输入,因为 i == 7

使用列表代替 df,您是要循环返回 7 个 i 值吗?

for df in [df1, df2, df3, df4]:
    #execute this for each dataframe
    for i in range(7):
        parseTwoPoleBreakers(7,8,"ab",i,df)
        breakerid+=1
        parseTwoPoleBreakers(9,10,"bc",i,df)
        breakerid+=1
        parseTwoPoleBreakers(11,12,"ca",i,df)
        breakerid+=1