你如何在Python中获得两个变量的逻辑xor?
例如,我有两个我期望成为字符串的变量.我想测试只有其中一个包含True值(不是None或空字符串):
str1 = raw_input("Enter string one:")
str2 = raw_input("Enter string two:")
if logical_xor(str1, str2):
print "ok"
else:
print "bad"
Run Code Online (Sandbox Code Playgroud)
该^运营商似乎是按位,并在所有对象没有定义:
>>> 1 ^ 1
0
>>> 2 ^ 1
3
>>> "abc" ^ ""
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for ^: 'str' and 'str'
Run Code Online (Sandbox Code Playgroud) 我对人们对利弊的看法很感兴趣,或者对浏览器中的网站设计,以及远离Photoshop,Fireworks等都是彻头彻尾的"hell no's".
我一直在为我的网站设计一个重新启动,并在浏览器中尝试,我不回头.
例如(我使用带有12列的960px网格):
<div id="news_section" class="floatleft columntwo spanfourcolumns">
…content
</div>
<div id="recent_work" class="floatleft columnfour spansevencolumns">
…content
</div>
Run Code Online (Sandbox Code Playgroud)
不仅设计再次变得有趣,而且使用网格,垂直节奏,甚至黄金比例,从未如此简单.更不用说,它完全消灭了设计和静态编码之间的差距.
你怎么看?
我有一个ASP.NET RegularExpressionValidator来检查文件扩展名.有一种快速的方法我可以告诉它忽略扩展的情况而不必将大写变体显式添加到我的验证表达式中吗?
ValidationExpression="([^.]+[.](jpg|jpeg|gif|png|wpf|doc|docx|xls|xlsx ...
Run Code Online (Sandbox Code Playgroud) 浏览速度取决于浏览器(如IE,firefox)?
如果取决于浏览器哪个浏览器最好并且运行速度快?
如果我们清除浏览器中的缓存会降低浏览速度吗?
谢谢.
这个问题源于对过去50年左右计算中不同类型进展的评论.
其他一些参与者要求我将其作为整个论坛的问题提出来.
这里的基本思想不是抨击当前的事物状态,而是试图了解提出基本新思想和原则的进展情况.
我声称在大多数计算领域我们需要真正的新想法,而且我想知道最近已经完成的任何重要和强大的想法.如果我们真的找不到它们,那么我们应该问"为什么?" 和"我们该怎么办?"
我想要做的是在FireFox中的页面重新加载/刷新后从扩展/ GM脚本触发一个函数...
想象一下:
我想我想编写一些JavaScript来完成所有这些...并且由于需要持久化并且我没有能力更改源站点,我想到编写FireFox扩展或GreaseMonkey - 基本上是客户端的任何东西.
像DOMContentReloaded这样的事件就像是(就已存在):
addEventListener("DOMContentReloaded",pageReloaded,false);
此类代码的典型测试用例是:
所有这些都可以通过FireFox扩展(或GreaseMonkey,如果GM中的洗脱更容易/更好/推荐)来完成 - 考虑到这一点,事情应该很容易吗?
人们普遍认为,验证HTML的最佳理由是确保所有浏览器都能一致且可预测地对待它.
但是,HTML 5草案包含两个规范.首先是作者规范,描述HTML作者应该使用的元素和属性,以及它们之间的相互关系.HTML 5页面的验证基于此规范.包含的元素和属性不是直接从HTML 4中提取的,而是需要从第一原则开始证明,这意味着某些HTML 4功能,例如<table>上的summary属性,<img>上的longdesc和profile属性在<head>上,目前不会出现在此草稿中.这些功能不被视为已弃用,它们根本不包含在内.(他们缺席草案仍然存在争议,尽管很快就会将其纳入其中.)
其次,草案定义了一个浏览器处理规范,该规范试图准确定义浏览器的解析器将如何处理它给出的任何字节流,而不管HTML的形成和有效性如何.这意味着当浏览器完全支持HTML 5时,可以预测任何浏览器如何处理HTML以获得更广泛的输入,而不仅仅是那些通过验证的输入.
特别是,因为HTML 5被定义为100%向后兼容当今的Web,所有有效的HTML 4和所有无效但常用的标记将继续处理与现在完全相同,无论是否HTML 5有效与否.
因此,至少,使用HTML 5,HTML 4或任何以前版本的HTML以及许多专有扩展的任何功能的任何人都可以确信他们的HTML将在所有浏览器中获得一致且可预测的处理.
鉴于此,将HTML 5限制为将验证的是否有任何意义,以及我们将从中获得哪些实际好处?
这一直困扰着我.也许对.NET内部有一些核心知识的人可以向我解释一下.
假设我按如下方式定义枚举:
public enum Foo
{
Eenie = 1,
Meenie = 2,
Miney = 3,
Moe = 4
}
Run Code Online (Sandbox Code Playgroud)
现在,也假设在我的代码中的某个地方,我有以下代码:
int bar = (Foo)5;
Run Code Online (Sandbox Code Playgroud)
这将编译得很好,并且不会引发任何异常,即使值5显然不是在中定义的有效值Foo.
或者,请考虑以下事项:
public void ProcessFoo(Foo theFoo)
{
// Do processing
}
public static void Main()
{
ProcessFoo((Foo)5);
}
Run Code Online (Sandbox Code Playgroud)
再次,也不例外.
在我看来,这应该导致类型不匹配异常,因为5不是a Foo.但设计师选择不这样做.
现在,我已经编写了一个可以验证这种情况的扩展方法,并且调用它以确保就是这种情况并没有什么大不了的,但是我必须使用反射来做到这一点(包括所有性能损失和诸如此类的因素) ).
那么,有什么令人信服的理由可能导致决定没有检查枚举?
供参考,来自Enum类的MSDN文档:
定义将枚举常量作为值的方法或属性时,请考虑验证该值.原因是您可以将数值转换为枚举类型,即使该枚举类型中未定义该数值也是如此.