这行不通:

if cond1 && cond2:

当前回答

用and代替&&。

其他回答

用and代替&&。

我用了一个纯数学的解决方案:

def front_back(a, b):
  return a[:(len(a)+1)//2]+b[:(len(b)+1)//2]+a[(len(a)+1)//2:]+b[(len(b)+1)//2:]

你使用和和或来执行逻辑操作,就像在C, c++。就像字面上的and && and or is ||。


看看这个有趣的例子,

假设你想用Python构建逻辑门:

def AND(a,b):
    return (a and b) #using and operator

def OR(a,b):
    return (a or b)  #using or operator

现在试着称呼他们:

print AND(False, False)
print OR(True, False)

这将输出:

False
True

希望这能有所帮助!

对于这个任务,这可能不是最好的代码,但它是有效的

def front_back(a, b):

 if len(a) % 2 == 0 and len(b) % 2 == 0:
    print a[:(len(a)/2)] + b[:(len(b)/2)] + a[(len(a)/2):] + b[(len(b)/2):]

 elif len(a) % 2 == 1 and len(b) % 2 == 0:
    print a[:(len(a)/2)+1] + b[:(len(b)/2)] + a[(len(a)/2)+1:] + b[(len(b)/2):] 

 elif len(a) % 2 == 0 and len(b) % 2 == 1:
     print a[:(len(a)/2)] + b[:(len(b)/2)+1] + a[(len(a)/2):] + b[(len(b)/2)+1:] 

 else :
     print a[:(len(a)/2)+1] + b[:(len(b)/2)+1] + a[(len(a)/2)+1:] + b[(len(b)/2)+1:]

一个&(不是两个&&)就足够了,或者就像上面的答案所说的,你可以用and。 我在熊猫身上也发现了这一点

cities['Is wide and has saint name'] = (cities['Population'] > 1000000) 
& cities['City name'].apply(lambda name: name.startswith('San'))

如果我们将“&”替换为“and”,它将不起作用。