标签: multiple-conditions

Python'while'有两个条件:“and”或“or”

这是一个非常简单的掷骰子程序,它不断掷两个骰子,直到得到双 6。所以我的 while 语句结构如下:

while DieOne != 6 and DieTwo != 6:
Run Code Online (Sandbox Code Playgroud)

出于某种原因,该计划在DieOne获得 6 分后立即结束。DieTwo根本不考虑。

但是如果我将 while 语句中的theand改为 an or,程序就可以完美运行。这对我来说没有意义。

import random
print('How many times before double 6s?')
num=0
DieOne = 0
DieTwo = 0

while DieOne != 6 or DieTwo != 6:
    num = num + 1
    DieOne = random.randint(1,6)
    DieTwo = random.randint(1,6)
    print(DieOne)
    print(DieTwo)
    print()
    if (DieOne == 6) and (DieTwo == 6):
        num = str(num)
        print('You got double 6s in …
Run Code Online (Sandbox Code Playgroud)

python boolean while-loop multiple-conditions

8
推荐指数
1
解决办法
4万
查看次数

基本sql:在一个查询中多次从同一列中选择AVG()值,当每个想要的AVG()值使用不同的WHERE子句时

我想从一个表中的一个列(value_to_count)中获得三个不同的平均值,其中所有这些平均值具有不同的WHERE子句(根据时间).

示例数据:

###services#### Table
service_id       value_to_count                time
-----------      -----------------------       ---------
     604                    2054               04:04:50
     604                    3444               05:00:15
     604                    2122               07:12:50
     604                    2144               09:10:50
     604                    2001               13:12:53
     602                    2011               15:00:12
     602                    2115               17:22:35
     602                    1411               20:22:12
     602                    1611               21:04:52
     602                    2111               23:43:45
Run Code Online (Sandbox Code Playgroud)

我现在正在使用此查询来获得18到23之间的平均值:

询问

SELECT 
service_id AS service, AVG(value_to_count) AS primetime 
FROM services 
WHERE HOUR(time) BETWEEN 18 AND 23 
GROUP BY service_id
Run Code Online (Sandbox Code Playgroud)

它给了我这样的结果:

### Result #### 
service          primetime
-----------      --------------      
     604               2154           
     602               2444           
Run Code Online (Sandbox Code Playgroud)

现在我想得到我已经得到的其他平均值.这一次,我只是想通过"HOUR(时间)之间的06和18"和平均"HOUR(时间)23与06"以及.

这是我想得到的结果形式:

### Wanted Result #### 
service          primetime …
Run Code Online (Sandbox Code Playgroud)

sql average multiple-conditions

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

如何根据多列中的多个条件创建新列?

我正在尝试根据其他列的几个条件向数据框添加新列.我有以下数据:

> commute <- c("walk", "bike", "subway", "drive", "ferry", "walk", "bike", "subway", "drive", "ferry", "walk", "bike", "subway", "drive", "ferry")
> kids <- c("Yes", "Yes", "No", "No", "Yes", "Yes", "No", "No", "Yes", "Yes", "No", "No", "Yes", "No", "Yes")
> distance <- c(1, 12, 5, 25, 7, 2, "", 8, 19, 7, "", 4, 16, 12, 7)
> 
> df = data.frame(commute, kids, distance)
> df
   commute kids distance
1     walk  Yes        1
2     bike  Yes       12
3   subway   No        5
4 …
Run Code Online (Sandbox Code Playgroud)

if-statement r calculated-columns multiple-conditions dataframe

7
推荐指数
2
解决办法
2万
查看次数

Bash IF:多个条件

我已经尝试让这件事工作几个小时,但我无法让它工作:

if [ "$P" = "SFTP" -a "$PORT" != "22" ] || [ "$P" = "FTPS" && [ "$PORT" != "990" -a "$PORT" != "21" ] ] ; then

有人能帮我吗 ?我知道多个条件可以这样写:

if [ "$P" = "SFTP" ] && [ "$PORT" != "22" ]; then

但我怎样才能像第一个例子一样叠加这些条件呢?

bash if-statement nested multiple-conditions conditional-statements

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

熊猫:np.where在数据帧上有多个条件

嗨伙计们,我看到了所有的SO和谷歌,不能找到类似的东西......

我有一个数据帧x(基本上由一行和300列组成)和另一个具有相同大小但数据不同的数据帧.我想修改x,如果它与y具有不同的符号,则为0,并且x本身不为0,否则保持原样.所以这需要使用具有多个条件的np.where.然而,我见过的多个条件示例都使用标量,当我使用相同的语法时,它似乎不起作用(最终设置 - 所有 - 为零,没有错误).我担心隐藏在某处或其他地方的引用分配问题(移位后y是x,但据我所知,这个代码上面没有上游问题)任何想法?

我试图调试的代码是:

tradesmade[i:i+1] = np.where((sign(x) != sign(y)) & (sign(x) != 0), 0, x) 
Run Code Online (Sandbox Code Playgroud)

它只返回一堆零.我也试过了

tradesmade[i:i+1][(sign(x) != sign(y)) * (sign(x) != 0)] = 0
Run Code Online (Sandbox Code Playgroud)

但这似乎也不起作用.我已经在这几个小时了,我完全失去了.请帮忙!

python multiple-conditions pandas

6
推荐指数
1
解决办法
2万
查看次数

根据多个条件得到df的子部分

我正在尝试根据多个条件从df中提取行,在选择任何行之前必须满足所有条件.

我的df

columns = ['is_net', 'is_pct', 'is_mean', 'is_wgted', 'is_sum']
index = ['a','b','c','d']
data = [['True','True','False','False', 'False'],
       ['True','True','True','False', 'False'],
       ['True','True','False','False', 'True'],
       ['True','True','False','True', 'False']]

df = pd.DataFrame(columns=columns, index=index, data=data)
df

    is_net  is_pct  is_mean is_wgted    is_sum
a   True    True    False   False   False
b   True    True    True    False   False
c   True    True    False   False   True
d   True    True    False   True    False
Run Code Online (Sandbox Code Playgroud)

我的条件必须采用以下格式:

conditions = {'is_net': 'True', 
              'is_pct': 'True', 
              'is_mean': 'False', 
              'is_wgted': 'True', 
              'is_sum': 'False'}
Run Code Online (Sandbox Code Playgroud)

预期产量:

    is_net  is_pct  is_mean is_wgted    is_sum
d   True    True    False …
Run Code Online (Sandbox Code Playgroud)

python multiple-conditions dataframe pandas

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

在Mongoid中使用AND和OR的组合

我想构建一个表单的查询:

select * from some_table
where 
  (field1 = 'x' or field2 = 'y') 
  and 
  (field3 = 'z' or field4 = 'w')
Run Code Online (Sandbox Code Playgroud)

从阅读文档,我认为它应该看起来像这样Mongoid:

SomeTable.or({:field1 => 'x'}, {:field2 => 'y'})
         .and  #  or is it .intersect?
         .or({:field3 => 'z'}, {:field4 => 'w'})
Run Code Online (Sandbox Code Playgroud)

但那不起作用 - mongo选择器只是所有字段的"$或".这样做的正确方法是什么?谢谢.

我也很欣赏它的反转,例如 - 如何执行此查询:

select * from some_table
where 
  (field1 = 'x' and field2 = 'y') 
  or
  (field3 = 'z' and field4 = 'w') 
Run Code Online (Sandbox Code Playgroud)

syntax multiple-conditions mongoid

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

if 语句中的多个条件位于逻辑运算符两侧

我正在尝试在逻辑运算符两侧的 if 语句中使用多个参数。我首先从 || 开始 运算符,按预期工作:

var a = 'apple', b = 'banana', c = 'cherry';

if (a == 'banana' || a == 'apple' || b == 'banana' || b == 'apple') {
    console.log('example 1') // returns
}

if ((a || b) == 'banana' || (a || b) == 'apple') {
    console.log('example 2') // returns
}

if (a == ('apple' || 'banana') || b == ('apple' || 'banana')) {
    console.log('example 3') // returns
}

if ((a || b) == ('apple' …
Run Code Online (Sandbox Code Playgroud)

javascript if-statement multiple-conditions logical-operators

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

LINQ:拆分“或”条件

所以我有以下条件

sessions = sessions.Where(y => y.session.SESSION_DIVISION.Any(x => x.DIVISION.ToUpper().Contains(SearchContent)) ||
                                                   y.session.ROOM.ToUpper().Contains(SearchContent) ||
                                                   y.session.COURSE.ToUpper().Contains(SearchContent));
Run Code Online (Sandbox Code Playgroud)

我想根据一个字符串是否为空将其分成多行,例如:

if (!String.IsNullOrEmpty(Division)) {
    sessions = sessions.Where(y => y.session.SESSION_DIVISION.Any(x => x.DIVISION.ToUpper().Contains(SearchContent)));
}

if (!String.IsNullOrEmpty(Room)) {

    // this shoudl be OR
    sessions = sessions.Where(y => y.session.ROOM.ToUpper().Contains(SearchContent));
}

if (!String.IsNullOrEmpty(course)) {

    // this shoudl be OR
    sessions = sessions.Where(y => y.session.COURSE.ToUpper().Contains(SearchContent));
}
Run Code Online (Sandbox Code Playgroud)

如果您发现我想添加多个OR条件,则根据Room,course和Division字符串是否为空来拆分。

.net sql linq where-clause multiple-conditions

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

SQL CASE检查同一列中的两个条件

我目前有一个CASE语句,用于检查某些任务是否已完成,然后返回下一个任务的日期.由于任务是有序的,因此每个WHEN语句变得更长,检查先前的每个任务以查看它们是否完整.出于某种原因,在第一个WHEN语句之后,它直接跳到ELSE(它应该满足第二个或第三个WHEN的条件).

CASE
    WHEN T.PRNAME = 'TECH PEP MEETING DATE' AND T.PRSTATUS != 2 THEN (SELECT TO_CHAR(MAX(T.PRFINISH),'DD/MM/YY') FROM PRTASK T WHERE T.PRPROJECTID = INV_INVESTMENTS.ID AND Upper(T.PRNAME) = 'TECH PEP MEETING DATE' AND PRISMILESTONE = 1)
    WHEN (T.PRNAME = 'TECH PEP MEETING DATE' AND T.PRSTATUS = 2) AND (T.PRNAME = 'BRU MEETING DATE' AND T.PRSTATUS != 2) THEN (SELECT TO_CHAR(MAX(T.PRFINISH),'DD/MM/YY') FROM PRTASK T WHERE T.PRPROJECTID = INV_INVESTMENTS.ID AND Upper(T.PRNAME) = 'BRU MEETING DATE' AND PRISMILESTONE = 1)
    WHEN (T.PRNAME = 'TECH PEP …
Run Code Online (Sandbox Code Playgroud)

sql case multiple-conditions

5
推荐指数
1
解决办法
2万
查看次数