给定以下字符串:
a
b
ab
ba
bab
aba
abab
babab
asdgasdgsdgasa
我需要以下输出: true true false false true true false true true
我有一个正则表达式^([ab])(?:.*?\1)?$
它在这个调试器中匹配得很好:,但是它不匹配这个调试器中的任何东西:
为什么会这样呢?
这也是为什么这是真的:
console.log(/^([ab])(?:.*?\1)?$/.test('aba'))
true
而下面给出的是false?
var re = new RegExp("^([ab])(?
为什么这段代码没有给出“无法到达的代码”错误?因为布尔值只能是true或false。
public static void main(String args[]) {
boolean a = false;
if (a == true) {
} else if (a == false) {
} else {
int c = 0;
c = c + 1;
}
}
这是我在处理python解释器时得到的
[mohamed@localhost ~]$ python
Python 2.7.5 (default, Apr 10 2015, 08:09:14)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-7)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 'a' in 'abc'
True
>
能否解释一下为什么下面的代码会给出这些结果?
#include <iostream>
int main()
{
int x = -1;
unsigned int y = 1;
if (x > y)
std::cout << "true";
else
std::cout << "false";
}
Output = true,但为什么?
今天我在做运动,遇到了一个有趣的问题:
给定一个ints数组,如果数组在某个地方的旁边包含一个2,则返回True。
此代码运行错误半次:
for i in range(len(nums)-1):
if nums[i] == 2 and nums[i+1] == 2:
print(True)
else:
print(False)
对于输入nums = [1, 2, 2],它给出了输出:False
这段代码给出了True
for i in range(len(nums)-1):
if nums[i] == 2 and nums[i+
为什么这段代码会给出上面的编译时错误?
var results = [[String:Bool]]()
var isSuccessful:Bool =
{
for (index, element) in results.enumerated()
{
if element.values.contains(false) { return false }
}
return true
}
data CouldBe a = Is a | Lost deriving (Show, Ord)
instance Eq (CouldBe m) where
Is x == Is y = x == y
Lost == Lost = True
_ == _ = False
给出一个错误:No instance for (Eq m) arising from a use of ‘==’所以:
instance (Eq m) => Eq (CouldBe m) where
Is x == Is y = x == y
Lost == Lost = True
fun main() {
val input = "ABC"
val output = "ABC,"
println(input.contains(output,false))
print(input in (output))
}
产出:
false
true
我刚刚检查过,in和contains使用的方法是相同的,但是为什么给出不同的结果。
在Python中,为什么切片操作在其行为上不一致?
对于列表和字符串,它的行为不同。
对于list,它给出一个复制list对象,对于字符串它给出相同的string对象。
我觉得这很令人困惑,违反直觉。有什么办法解释/证明这一点吗?
>>> s = "1234"
>>> s is (s[:2] + s[2:])
False
>>> s is s[:]
True
>>> lst = [1,2,3,4]
>>> lst is lst[:]
我不太理解为什么当我们在不覆盖equals方法的情况下比较两个具有相同属性的类的实例时,它会给出一个false。但是当我们比较一个case类的两个实例时,它会给出一个true。例如
class A(val name: String, val id: Int)
case class B(name: String, id: Int)
object Test {
val a1 = new A('a',1)
val a2 = new A('a',1)
println(a1 == a2) //this returns false
检查输入是否为质数的函数。我知道这里已经讲过很多次了,但是我的代码出于某种原因给出了x=32的True,但我不知道为什么
def is_prime(x):
if x < 2:
return False
elif x == 2:
return True
else:
for i in range(3,x): #Ignore sqrt(x) improvement
if x%i == 0:
return False
else :
下面是问题所在;
给定两个int,每个都在10..99范围内,如果两个数字中都有一个数字,例如12和23中的2,则返回true。(注:除法,例如n/10,给出左数字,而% "mod“n%10给出右数字。)
shareDigit(12, 23) → true
shareDigit(12, 43) → false
shareDigit(12, 44) → false
我的尝试:D
public boolean shareDigit(int a, int b) {
boolean answer = false;
int left = a/10;
int