第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python中兩個(gè)字符串之間的漢明距離

Python中兩個(gè)字符串之間的漢明距離

慕村225694 2021-10-10 16:28:10
我是 Python 新手,我需要找到兩個(gè)字符串之間的漢明距離:chaine1 = 6fb17381822a6ca9b02153d031d5d3dachaine2 = a242eace2c57f7a16e8e872ed2f2287dXOR 功能不行,我在網(wǎng)上搜索也不是很成功。我試圖修改我在網(wǎng)上找到的東西,但有一些無(wú)效的語(yǔ)法......:assert len (chaine1) == len(chaine2)return sum(chaine1 != chaine2 for chaine1, chaine2 in zip(chaine1, chaine2))if __name__=="__main__":    chaine1 = hashlib.md5("chaine1".encode()).hexdigest()chaine2 = hashlib.md5("chaine2".encode()).hexdigest()print hamming_distance(chaine1, chaine2)關(guān)于我如何進(jìn)行的任何想法?謝謝!
查看完整描述

2 回答

?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

以下是使用兩種不同方式計(jì)算漢明距離的程序。


import hashlib


def hamming_distance(chaine1, chaine2):

    return sum(c1 != c2 for c1, c2 in zip(chaine1, chaine2))


def hamming_distance2(chaine1, chaine2):

    return len(list(filter(lambda x : ord(x[0])^ord(x[1]), zip(chaine1, chaine2))))


if __name__=="__main__":    

    chaine1 = hashlib.md5("chaine1".encode()).hexdigest()

    chaine2 = hashlib.md5("chaine2".encode()).hexdigest()


    #chaine1 = "6fb17381822a6ca9b02153d031d5d3da"

    #chaine2 = "a242eace2c57f7a16e8e872ed2f2287d"


    assert len(chaine1) == len(chaine2)


    print(hamming_distance(chaine1, chaine2))


    print(hamming_distance2(chaine1, chaine2))

你得到的原因Invalid syntax: ...可能是你沒(méi)有任何縮進(jìn),這在 Python 中是必需的。


查看完整回答
反對(duì) 回復(fù) 2021-10-10
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

首先應(yīng)該定義兩個(gè)字符串之間的漢明距離。


兩根相等長(zhǎng)度的弦之間的漢明距離是這些弦變化的位置數(shù)。用更專(zhuān)業(yè)的術(shù)語(yǔ)來(lái)說(shuō),它是衡量將一根弦變成另一根所需的最少更改次數(shù)的指標(biāo)。


讓我們來(lái)解決它。


def hamming(s1,s2):

result=0

if len(s1)!=len(s2):

    print("String are not equal")

else:

    for x,(i,j) in enumerate(zip(s1,s2)):

        if i!=j:

            print(f'char not math{i,j}in {x}')

            result+=1

return result

s1="rover"

s2="river"

print(hamming(s1,s2))

結(jié)果:char not match ('o', 'i') in 1


查看完整回答
反對(duì) 回復(fù) 2021-10-10
  • 2 回答
  • 0 關(guān)注
  • 557 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)