def interleave(s1,s2): #This function interleaves s1,s2 together
guess = 0
total = 0
while (guess < len(s1)) and (guess < len(s2)):
x = s1[guess]
y = s2[guess]
m = x + y
print ((m),end ="")
guess += 1
if (len(s1) == len(s2)):
return ("")
elif(len(s1) > len(s2)):
return (s1[guess:])
elif(len(s2) > len(s1)):
return (s2[guess:])
print (interleave("Smlksgeneg n a!", "a ie re gsadhm"))
由於某種原因,我的測試函數提供了斷言錯誤事件,儘管輸出與下面的代碼相同。 例如 - 「Smlksgeneg n a!」,「a ie re gsadhm」返回「Sam喜歡綠色雞蛋和火腿!」 但斷言錯誤仍然(),從什麼是它返回出來斷言錯誤,儘管我的返回值相同
def testInterleave():
print("Testing interleave()...", end="")
assert(interleave("abcdefg", "abcdefg")) == ("aabbccddeeffgg")
assert(interleave("abcde", "abcdefgh") == "aabbccddeefgh")
assert(interleave("abcdefgh","abcde") == "aabbccddeefgh")
assert(interleave("Smlksgeneg n a!", "a ie re gsadhm") ==
"Sam likes green eggs and ham!")
assert(interleave("","") == "")
print("Passed!")
testInterleave()
s1和s2的哪些值會導致斷言錯誤?什麼是確切的錯誤和追溯?當代碼中沒有聲明語句時,如何得到斷言錯誤? –
如果其中一個答案解決了您的問題,您應該接受它(點擊相應答案旁邊的複選標記)。這有兩件事。它讓每個人都知道你的問題已經得到解決,讓你滿意,並且它可以幫助你幫助你。請參閱[此處](http://meta.stackexchange.com/a/5235)以獲取完整說明。 –