Python 中的 if 语句和设置变量

Posted

技术标签:

【中文标题】Python 中的 if 语句和设置变量【英文标题】:If Statements and Setting Variables in Python 【发布时间】: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 语句中打印一些内容。你做了什么来调试你的代码? 【参考方案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

以上是关于Python 中的 if 语句和设置变量的主要内容,如果未能解决你的问题,请参考以下文章

根据 SQL 管理器中的 IF 语句设置变量

python中有if False吗

python基础一

Python从入门到进阶9流程控制语句-条件语句(if-else)

Python 2.7 支持在 if else 语句中附加/扩展空变量

为什么If语句不能使用Python和Pygame