【问题标题】:If Statements and Setting Variables in PythonPython 中的 if 语句和设置变量
【发布时间】:2016-08-17 13:02:37
【问题描述】:

我正在尝试将df1df2df3df4 依次传入parseTwoPoleBreakers 函数。但是,只有df1 正在运行。我的ifelif 语句是否有问题导致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

【问题讨论】:

  • 您可以尝试在您的 elif 语句中打印一些内容。你做了什么来调试你的代码?

标签: python variables if-statement var


【解决方案1】:

我正在尝试将 df1、df2、df3 和 df4 依次传递到 parseTwoPoleBreakers 函数中

您的问题很可能与 if 语句中的变量范围或 while i &lt; 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

【讨论】:

  • Welp,我会找人来侮辱我这个愚蠢的错误:P
猜你喜欢
  • 2014-05-01
  • 1970-01-01
  • 2021-09-14
  • 1970-01-01
  • 1970-01-01
  • 2017-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多