給定一個字符串,可以說「TATA__」,我需要找出該字符串中相鄰字符之間的差異總數。即T和A之間存在差異,但A和A之間不存在差異,或_和_。Python 3中字符串中字符之間差異的數量3
我的代碼或多或少告訴我這一點。但是,當給出諸如「TTAA__」的字符串時,它不能按計劃工作。
我需要在該字符串中帶一個字符,並檢查它旁邊的字符是否與第一個字符不相等。如果確實不相等,我需要在運行計數中加1。如果相等,則不會在計數中添加任何內容。
這是我到目前爲止有:
def num_diffs(state):
count = 0
for char in state:
if char != state[char2]:
count += 1
char2 += 1
return count
當我使用num_diffs( 「TATA__」)運行它,我得到4作爲響應。當我用num_diffs(「TTAA__」)運行它時,我也得到4.而答案應該是2.
如果任何有意義的,任何人都可以幫助修復它/指出我的錯誤在哪裏?我有一種感覺是與狀態[char2]有關。對不起,如果這看起來像一個微不足道的問題,那只是我對Python語言完全陌生。
您的示例不是[可驗證或完整](http://stackoverflow.com/help/mcve),因爲* char2 *在使用前未定義。請修復您的代碼示例。 –
'char2'的價值是什麼? – ILostMySpoon
但我希望''3''num_diffs(「TTAA __」)'你能解釋爲什麼它應該是'2'嗎? – styvane