当和如果与熊猫循环

时间:2018-12-29 18:55:00

标签: python pandas loops if-statement while-loop

我在了解我的错误在哪里时遇到了问题。我试图从用户那里获取输入>如果“是”,则显示来自DataFrame的一些数据,如果“否”,则继续执行该程序。

在“是”之外,还有另一个问题:“您是否需要更多数据?”,然后再次>如果“是”一直显示>如果“否”,则退出两个循环并继续执行程序。

def display_data(df):
        n = 0
        raw_in = input('\nWould you like to see some raw data? yes or no.\n').lower()
        while raw_in in ['yes','no']:
            if raw_in == 'yes':
                raw_data = df.iloc[n:n+5,:]
                n += 5
                print(raw_data)
                raw_in = input('\nMore data? yes or no.\n').lower()
                if raw_in not in ['yes','no']:
                    print('\nInvalid option.\n')
                    display_data(df)
                else:
                    pass

这就是我尝试过的。我一直从while更改为if或他们的职位,但找不到解决方法。

1 个答案:

答案 0 :(得分:0)

您不需要while条件来检查'no'。似乎您要'no'停止执行。由于只需要while raw_in == 'yes',因此也不需要后续的if语句。另外,else, pass并没有真正的目的。

def display_data(df):
    n = 0
    raw_in = input('\nWould you like to see some raw data? yes or no.\n').lower()
    while raw_in == 'yes':
        raw_data = df.iloc[n:n+5,:]
        n += 5
        print(raw_data)
        raw_in = input('\nMore data? yes or no.\n').lower()
        if raw_in not in ['yes','no']:
            print('\nInvalid option.\n')
            display_data(df)