标签: conditional-operator

Python中的条件迭代器:我如何选择特定的迭代?

在django模板中,我完成了这个{% if forloop.first %}但是我不知道如何在常规'ole python中执行此操作而不用编写一个笨重的计数器来计算我的条件迭代.他们是一个简单的出路吗?

python django iterator conditional-operator

0
推荐指数
1
解决办法
363
查看次数

如何用条件运算符表示三种情况?

是否可以使用条件运算符表达案例?例如 :

 if(rval==1)
     DO THIS 1;
 else if(rval==2)
     DO THIS 2;
 else if (rval ==3)
     DO THIS 3;
Run Code Online (Sandbox Code Playgroud)

c c++ conditional-operator

0
推荐指数
2
解决办法
250
查看次数

清理条件代码

我有这个变量.

$productId = 2; // Testing ID
$value->id; // Contains INT
$value->datePurchaseEnd; // Contains UNIXTIME or NULL
Run Code Online (Sandbox Code Playgroud)

我想要的条件. if ($value->id == $productId) return true;

但如果$value->datePurchaseEnd;不是NULL那么也将它与当前时间进行比较,它必须大于当前时间才能返回TRUE;

现在这是我制作的代码:

if( $value->id == $productId){
        if( $value->datePurchaseEnd == NULL ){
            $return = TRUE; break;
        }else{
            if( $value->datePurchaseEnd > mktime() ){
                $return = TRUE; break;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

但我觉得这段代码并不好.
有没有建议用上面的条件制作更好的代码?

php conditional conditional-operator

0
推荐指数
1
解决办法
96
查看次数

C++,三元运算符和cout

这段代码不起作用

int main(){
cout << 5 ? (5 ? 0 : 2) : 5;
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)

这段代码有效

int main(){
cout << (5 ? (5 ? 0 : 2) : 5);
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)

不明白为什么?

c++ ternary-operator conditional-operator operator-keyword

0
推荐指数
1
解决办法
548
查看次数

Python 是否有带有 elif 的三元条件?

我最近发现了这个问题:Does Python have a ternary conditional operator? 并发现称为三元条件的东西a = b if c == d else e
我的问题:有一种方法可以使三元条件与elif? 类似的东西a = b if c == d elif e == f i else j

python conditional-operator

0
推荐指数
1
解决办法
3478
查看次数

表达式评估期间,运算符的关联性如何工作?

我正在学习C ++中的优先规则。据说其中条件运算符具有从右到左的关联性。我将其解释为对表达式的评估从右开始,然后从左开始。因此,对于以下代码,

int a=1, b=2, c;
c=a>b? a=a*2: a=a+3;
cout<<c<<" "<<a;
Run Code Online (Sandbox Code Playgroud)

我假设输出为

8 8
Run Code Online (Sandbox Code Playgroud)

但是实际输出是

4 4
Run Code Online (Sandbox Code Playgroud)

我不了解这种关联性实际上是如何工作的,因为从上面的输出中,在我看来,条件运算符已经从左到右具有关联性。

c++ conditional-operator associativity right-to-left left-to-right

0
推荐指数
1
解决办法
54
查看次数

在Rails视图模板中写条件变量的最短方法是什么?

我必须在使用条件运算符的.erb模板中放一些东西。

在下面的代码中,您可以看到我正在检查条件值,如果不为零,则打印相同的值。

<%= (@variable.value.nil?) ? "-" : @variable.value %>
Run Code Online (Sandbox Code Playgroud)

我想应该有一个更短的方法来做到这一点。两次写相同的东西看起来真的很丑。

ruby performance ruby-on-rails dry conditional-operator

0
推荐指数
1
解决办法
45
查看次数

c中的三元运算符和goto,同时执行

我正在尝试在三元运算符中实现 goto:

所以这就是我在做什么:

(a<5 && done==0) ? ({goto dd;}) : ({goto ee;});
Run Code Online (Sandbox Code Playgroud)

使用这些大括号,我试图将语句转换为表达式。

问题是,两个标签都在执行。为什么?

这是代码(Ideone 链接):

#include<stdio.h>
int main()
{
    int a=0,sum=0;
    int done=0;

    (a<5 && done==0) ? ({goto dd;}) : ({goto ee;});

    dd:
        printf("%d - %d -- %d\n",a,sum,done);
        ++a,sum+=a;
    ee:
        printf("done\n");
        done=1;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c goto conditional-operator

0
推荐指数
1
解决办法
205
查看次数

基于三元条件更新数组的不同元素

我正在寻找三元运算符语法来做类似的事情

a = [1, 2, 3, 4, 5]
if True:
    a[1] += 1
else:
    a[2] += 1
Run Code Online (Sandbox Code Playgroud)

我试过了

a[1] += 1 if True else a[2] += 1
Run Code Online (Sandbox Code Playgroud)

True and a[1] += 1 or a[2] += 1
Run Code Online (Sandbox Code Playgroud)

两者都抛出了错误

SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

有人知道这样做的三元方法吗?

提前致谢!

python conditional-operator

0
推荐指数
1
解决办法
35
查看次数

三元组或 if 语句是否更快?

所以我有两个选择,两个函数都具有相同的类型:

(Entry->d_type == DT_DIR ? rmdirr : remove)(CurrentEntryPath);
Run Code Online (Sandbox Code Playgroud)

或者

if (Entry->d_type == DT_DIR) {
    rmdirr(CurrentEntryPath);
} else {
    remove(CurrentEntryPath);
}
Run Code Online (Sandbox Code Playgroud)

我已经确认三元是 %100% 安全的,因为这两个函数都是兼容的指针类型。哪个更快(即使可读性较差)?

c performance if-statement function conditional-operator

0
推荐指数
1
解决办法
131
查看次数