這是個人代碼: 測試
def front_back(a, b): # +++your code here+++ if len(a) % 2 == 0 && len(b) % 2 == 0: return a[:(len(a)/2)] + b[:(len(b)/2)] + a[(len(a)/2):] + b[(len(b)/2):] else: #todo! Not yet done. :P return
我在IF條件中遇到錯誤。 我究竟作錯了什麼? spa
我選擇了一個簡單的數學解決方案: code
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:]
你想要and
不是&&
。 get
Python使用and
/ or
條件。 數學
即 it
if foo == 'abc' and bar == 'bac' or zoo == '123': # do something
兩條評論: io
and
和or
用於邏輯運算。 也許用&而不是%更快和保持可讀性 bug
其餘測試偶數/奇數 解決方案
x是均勻的? x%2 == 0 co
x是奇數? 不是x%2 == 0
也許用bitwise和1更清楚
x是奇數? x&1
x是均勻的? 不是x&1(不是奇數)
def front_back(a, b): # +++your code here+++ if not len(a) & 1 and not len(b) & 1: return a[:(len(a)/2)] + b[:(len(b)/2)] + a[(len(a)/2):] + b[(len(b)/2):] else: #todo! Not yet done. :P return