Tag: if语句

Bash正则expression式如果语句

我在这里做错了什么? 尝试匹配任何包含空格,小写,大写或数字的string。 特殊字符也不错,但我认为这需要转义某些字符。 TEST="THIS is a TEST title with some numbers 12345 and special char *&^%$#" if [[ "$TEST" =~ [^a-zA-Z0-9\ ] ]]; then BLAH; fi 这显然只testing上,下,数字和空格。 虽然没有工作。 *更新* 我想我应该更具体一些。 这是实际的代码行。 if [[ "$TITLE" =~ [^a-zA-Z0-9\ ] ]]; then RETURN="FAIL" && ERROR="ERROR: Title can only contain upper and lowercase letters, numbers, and spaces!"; fi *更新* […]

如何避免编写request.GET.get()两次才能打印?

我来自PHP背景,想知道是否有办法在Python中做到这一点。 在PHP中,你可以像这样一石二鸟: 代替: if(getData()){ $data = getData(); echo $data; } 我可以做这个: if($data = getData()){ echo $data; } 您检查getData()存在,如果存在,则将其分配给一个语句中的variables。 我想知道是否有办法在Python中做到这一点? 所以不要这样做: if request.GET.get('q'): q = request.GET.get('q') print q 避免编写request.GET.get('q')两次。

SQL Server:IF EXISTS; 其他

我有一张桌子A: ID value 1 100 2 101 2 444 3 501 还有TableB ID Code 1 2 现在我想填充表B的col =代码,如果tableA中存在ID = 2。 对于多个值,获得最大值。 否则用“123”填充它。 现在这是我用的: if exists (select MAX(value) from #A where id = 2) BEGIN update #B set code = (select MAX(value) from #A where id = 2) from #A END ELSE update #B set code […]

Python:检查一个对象是否是一个序列

在python中有一个简单的方法来判断一个事物是不是一个序列? 我试图做: if x is not sequence但python不喜欢那样

检查if条件中的一系列数字

我不知道是否有可能在if语句中使用正则expression式。 我想检查一个值是否在可接受的范围内。 如果是的话做别的事情。 范围是0.001-0.009 。 我知道如何使用多个if检查这个,但我想知道是否有任何方法来检查它在一个单一的if语句与正则expression式。

写一个if语句的更短,更pythonic的方式

我有这个 bc = 'off' if c.page == 'blog': bc = 'on' print bc 有没有更pythonic(和/或更短)的方式来写这个Python?

很less执行和几乎空,如果语句大幅降低性能的C + +

编者的澄清:当这是最初发布,有两个问题: 如果看起来无关紧要的话,testing性能下降三倍 完成testing所需的时间似乎随机变化 第二个问题已经解决了:随机性只发生在debugging器下运行。 这个问题的其余部分应该被理解为关于上面的第一个要点,并且在VC ++ 2010 Express的发布模式下运行,并且优化“最大化速度”和“优先快速代码”。 评论部分还有一些评论在谈论第二点,但现在可以忽略它们。 我有一个模拟,如果我添加一个简单的if语句到运行实际仿真的while循环中,性能下降大约三倍(我在while循环中运行了大量计算,太阳能的n-body重力系统除了其他东西)即使if语句几乎从未执行: if (time – cb_last_orbital_update > 5000000) { cb_last_orbital_update = time; } time和cb_last_orbital_update都是doubletypes的,并且在主函数的开头定义,if语句也是这样。 通常我也要在那里运行计算,但是如果我删除它们也没有什么区别。 if语句如上所述对性能有相同的影响。 可变time是模拟时间,它在开始时增加了0.001个步骤,所以在第一次执行if语句之前需要很长时间(我还包括打印消息以查看它是否正在执行,但是它不是,或者至less只有当它应该)。 无论如何,即使在仿真的第一分钟内,性能也会下降3倍,但是还没有执行一次。 如果我注释掉这一行 cb_last_orbital_update = time; 那么它又跑得快了,所以这不是检查 time – cb_last_orbital_update > 5000000 无论如何,这绝对是将当前模拟时间写入该variables的简单行为。 另外,如果我将当前时间写入另一个variables而不是cb_last_orbital_update ,则性能不会下降。 所以这可能是一个问题,分配一个新的值,用于检查是否应该执行“if”的variables? 这些都是黑暗中的镜头。 免责声明:我是相当新的编程,并为所有的文字感到抱歉。 我正在使用Visual C ++ 2010 Express,停用stdafx.h预编译头文件function也没有任何区别。 编辑:程序的基本结构。 请注意,在while循环( time += time_interval; )的末尾除了time改变之外, 此外, cb_last_orbital_update只有三次发生:声明/初始化,再加上导致问题的if语句中的两次。 […]

如果没有大括号

我期望下面的代码进行编译。 铿锵和VC ++都给了我一个错误的线。 void MyFunction(std::int32_t& error) { std::int32_t variable = 0; if(GetSomething()) error = EOK; else error = ERROR; } 如果我把大括号括在error = EOK; ,然后编译。 为什么VC ++会说: 非法的,如果没有匹配 ? 我的完整代码如下,用typedefreplacestd :: uint32_t。 它仍然在VC ++中给出相同的错误。 using sint32 = int; #define ERROR 5; #define EOK 0; bool GetSomething(); void MyFunction(sint32& error) { sint32 variable = 0; if (GetSomething()) […]

如果语句与string比较失败

我真的不知道为什么下面的if语句没有执行: if (s == "/quit") { System.out.println("quitted"); } 下面是全class。 这可能是一个非常愚蠢的逻辑问题,但我已经把我的头发放在这里,无法弄清楚这一点。 感谢您的期待:) class TextParser extends Thread { public void run() { while (true) { for(int i = 0; i < connectionList.size(); i++) { try { System.out.println("reading " + i); Connection c = connectionList.elementAt(i); Thread.sleep(200); System.out.println("reading " + i); String s = ""; if (c.in.ready() == true) […]

哪个更快,更好,切换案例还是如果?

哪个更好,最快的方法是:如果还是切换? if(x==1){ echo "hi"; } else if (x==2){ echo "bye"; } switch(x){ case 1 … break; default; }