我如何将2个条件放入" if"声明?

时间:2016-07-29 17:02:04

标签: python function loops if-statement python-3.5

我试图以某种方式设置一个函数,只有在满足两个条件时才会执行:如果变量大于某个值且小于另一个值。

我有两个定义start_time和end_time的函数,以及一个处理文件的循环。正如您在select true where '{"has_temps":false,"too_long":true,"too_long_as_of":"2016-02-12T12:28:28.238+00:00","tags":{"+good":true}}'::json->>'tags' = '{"+good":true}' 语句中所看到的,我正在尝试读取一系列数字中的文件数据。然而,当我像我一样设置它时,我收到此错误:

if

我不明白如何解决这个问题,特别是因为我使用了两个变量(start_date,end_date:前两个函数都给出了数值)。

简而言之,我如何制作我想要的" if"声明可能吗?

修改:此外,我希望忽略不符合条件的文件,如果我不写,我不确定是否会这样做"其他"言。

3 个答案:

答案 0 :(得分:1)

错误来自您将数组(a.k.a。juld)与数字进行比较的事实。简而言之,您需要为要检查的if语句指定特定元素,或者使用错误消息中详述的any()all()方法。您可以找到这些方法的定义here

答案 1 :(得分:0)

我真的不明白你想做什么,但有三种选择。如果您只想进入块,如果数组中的所有值都满足它,请使用a.all(条件)。如果要在任何值满足条件时进入,请使用a.any(条件)。如果你想为满足该值的数组的每个值进入块,你可以

 <script type="text/javascript">
    (function ($) {
        $(function () { //on DOM ready 
              var userFeed = new instafeed({
                target: 'instagram_list',
          get: 'user',
          userId: 1527608886,
                clientID: 'cb4f0f8196b04aaeaa66e2b253d18b0e',
          limit: 25,
          resolution: 'thumbnail'
                            });
                           userFeed.run();
                            $("#instagram_list").simplyScroll({
              startOnLoad: true,
              speed: 1,
              frameRate: 20,
              orientation: 'horizontal',
              direction: 'forwards',
            }); 
                        });
                    })(jQuery);

答案 2 :(得分:0)

问题是因为您要将数组juld与两个日期/数字start_dateend_date进行比较。因此,您需要能够将数组更改为日期/数字。我无法看到juld中的内容,但我怀疑您是否只是将代码更改为:

if start_date<juld[0]<end_date:

然后它将起作用,即以下工作(返回1):

import datetime
d1 = datetime.date(1996, 4, 1)
d2 = datetime.date(2017, 7, 29)
dt = datetime.date(2016, 7, 29)
x = Read_Data(dt, d1 , d2)

其中:

def Read_Data(date, start_date, end_date):
    if start_date<date<end_date:
        return 1