标签: boolean-logic

强制 && 之后的语句在 && 之前的语句为 false 时执行

我已经使用为单个字段运行的验证函数设置了表单验证,更改其格式并返回一个布尔值。然后验证我拥有的表格

var isValid = validate(field1) && validate(field2) ... ;
Run Code Online (Sandbox Code Playgroud)

我希望突出显示每个无效字段,但是使用这种方法,一旦到达无效字段,验证就会停止(由于&&工作方式)。

显然,我可以将每个字段的验证作为单独的语句进行评估,然后在之后组合结果,但是有什么方法可以强制 && 在出现错误结果后不停止,或者以其他方式将代码保持在一个简洁的行中?

javascript boolean-logic

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

或者在 Postgres 中没有按预期工作

在 Postgresql 中,当我使用 OR 进行 SELECT 时似乎不起作用。也许我做错了什么?例如:

SELECT * 
FROM toorder 
WHERE product_id = 1193 
AND status = 'NO' 
OR status = 'YES' 
Run Code Online (Sandbox Code Playgroud)

结果也给了我不是 product_id = 1193 的结果。状态字段有 3 个答案;在此示例中为 YES、NO 和 DON。任何人都知道为什么它不起作用?

sql postgresql boolean-logic

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

如何检查两个布尔表达式是否相等

我如何知道两个布尔表达式是否等价?

String expr1 = "(A or B) and C";
String expr2 = "C and (B or A)";
boolean equals = areExprsEquals(expr1, expr2);
Run Code Online (Sandbox Code Playgroud)

我想我应该...

  1. 解析表达式并将其存储在某些结构数据中
  2. 减少 OR 组中的表达
  3. 检查两个表达式是否具有相同的组

例如,通过第二步我得到:

Expr1
(A or B) and C
Converted to:
(A and C) or (B and C)

Expr2
C and (B or A)
Converted to:
(C and B) or (C and A)
Run Code Online (Sandbox Code Playgroud)

现在我必须知道是否有相同的组。一种方法是获取每个组的哈希值:

经验1:

group 1: 
(A and C)
Order:
(A and C)
Hash:
md5("a&c")

group 2:
(B and C)
Order:
(B and …
Run Code Online (Sandbox Code Playgroud)

java boolean-logic

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

Neo4j 密码查询语言 - 布尔表达式的操作顺序

我正在尝试编写一个查询来从 Neo4J 数据库中提取数据。假设有五个条件决定我是否想从我的数据库中提取 _____:A、B、C、D 和 E。决定这一点的布尔表达式是:

A && B && (C || D || E)
Run Code Online (Sandbox Code Playgroud)

从网上搜索,我找不到任何关于 Neo4J AND 和 OR 查询遵守的操作顺序的信息(AND 通常在 OR 之前),但从我的观察来看,它们似乎是按顺序执行的。由于我知道没有办法明确定义顺序,也就是使用括号,如何实现 Cypher 查询来满足上面的布尔表达式?

boolean-logic neo4j boolean-operations cypher

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

为什么我没有得到相同的结果使用while和直到红宝石?

好的,我在windows x64上使用Ruby 2.26.问题是,我真的只是学习如何编写代码的新手,所以我不确定这是一个真正的错误,还是只是我的错误,因为这个错误非常简单,它有点愚蠢(?)@_ @

'while'和'until'运算符.

我所知道的,

action = gets.chomp
until action == "a" || action == "b"
  puts "Answer a or b"
  action = gets.chomp
end

puts "The answer: " + action
Run Code Online (Sandbox Code Playgroud)

action = gets.chomp
while action != "a" || action != "b"
  puts "Answer a or b"
  action = gets.chomp
end

puts "The answer: " + action
Run Code Online (Sandbox Code Playgroud)

应该导致同样的事情.但是在这里使用'while'运算符,即使我在powershell上的用户输入上加上"a"或"b",也会让我无限循环.谁能告诉我为什么会这样?或者这真的是一个错误吗?(这是一段时间的耻辱,直到操作员应该是一个非常基本的逻辑运算符吗?)

ruby logic boolean-logic

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

使用“&&”和“||” 在 C 中条件之外的语句中

我正在用 C 做一个 uni 作业,我得到了一个已经完成的程序来调试它,我已经走过这行代码

int main() {
FILE *personFile;

//...
//some code
//..

personFile && fclose(personFile);     //??
return 0;
}
Run Code Online (Sandbox Code Playgroud)

代替

if (personFile != NULL) 
    fclose(personFile);
Run Code Online (Sandbox Code Playgroud)

我认为fclose(personFile) 如果personFile为 NULL则永远不会发生,因为 C 快速评估“条件”并跳过 && 中的第二个参数,如果第一个参数为假,但我不确定

这真的是它的工作原理吗?这种“欺骗”条件的方式是不好的做法还是我很幸运从未见过这样的事情?

c boolean-logic operators conditional-statements

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

python中的“大于”或“等于”与“等于”或“大于”

为什么我们使用“大于”或“等于”,而不是“等于”或“大于”?

foo = 1

if foo >= 1:
  print("Greater than 1")
>>> Greater than 1
Run Code Online (Sandbox Code Playgroud)

而以下会引发 SyntaxError:

foo = 1

if a => 1:
  print("Greater than 1")
Run Code Online (Sandbox Code Playgroud)

为什么使用比较运算符的顺序会有所不同?

python boolean-logic

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

我如何将工作时间转换为布尔值?

我如何转换工作时间 08:00:00-11:59:00;13:00:00-16:59:00; 成 48 位布尔格式,如

 "000000000000000011111111001111111100000000000000" 
Run Code Online (Sandbox Code Playgroud)

其中每个数字是指使用 Oracle SQL 查询的 30 分钟粒度?

sql time boolean-logic granularity oracle-sqldeveloper

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

逻辑 AND OR 运算符和一个简单的 C++ 问题

我正在处理我的工作簿中的一个 C++ 问题,并且我在这个问题(以及我遇到的许多其他问题)中的逻辑运算符的行为方面遇到了困难。

这是代码:

#include <iostream>


using namespace std;



int main()
{
string input1, input2;

cout << "Enter two primary colors to mix. I will tell you which secondary color they make." << endl;
cin >> input1;
cin >> input2;


if ((input1 != "red" && input1 != "blue" && input1 != "yellow")&&(input2 != "red" && input2 != "blue" && input2 != "yellow"))
{
    cout << "Error...";
}

else
{
    if (input1 == "red" && input2 == "blue")
    {
        cout << …
Run Code Online (Sandbox Code Playgroud)

c++ boolean-logic

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

PYTHON 2.7.3中的布尔运算符

我正在编写一个程序,我要求用户输入.

我希望python检查输入是否为数字(不是单词或puntuation ...),如果它是一个数字,表示我的元组中的对象.如果3个条件中的一个导致False,那么我希望用户为该变量提供另一个值.这是我的代码

colour={'yello':1, 'blue':2, 'red':3, 'black': 4, 'white': 5, 'green': 6}
height_measurements=('centimeter:1', 'inch:2', 'meter:3', 'foot:4')
weight_measurements=('gram:1', 'kilogram:2', 'pounds:3')
print height_measurements
hm_choice = raw_input('choose your height measurement').lower()
while not hm_choice.isdigit() or hm_choice > 0 or hm_choice < len(height_measurements) :
    hm_choice = raw_input('choose your height measurement').lower()        
print weight_measurements
wm_choice = raw_input('choose your weight measurement').lower()
while not wm_choice.isdigit() or wm_choice > 0 or wm_choce < len(weight_measurements) :
    wm_choice = raw_input('choose your weight measurement').lower()
Run Code Online (Sandbox Code Playgroud)

当我把它测试时,无论我放入什么,它都会让我不断地为height_measurement插入输入

请检查我的代码并为我更正.如果你愿意,请为我提供更好的代码.

python boolean-logic python-2.7

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