我試圖在compareDNA(計算漢明距離)中比較標記爲「S」的兩個輸出。雖然,我無法弄清楚如何從一個def調用一個整數到另一個。我試過返回變量,但是,我無法在返回後調用它(在另一個def中)。 我試圖看看「比較DNA(Udnalin,Mdnalin)和比較DNA(Udnalin,Hdnalin)」的哪個輸出更高,以確定哪個輸出具有更大的漢明距離。 如何從一個def調用一個整數到另一個?在Python中將整數從一個def傳遞到另一個def
import sys
def main():
var()
def var():
Mdna = open("mouseDNA.txt", "r")
Mdnalin = Mdna.readline()
print(Mdnalin)
Mdna.close
Hdna = open("humanDNA.txt", "r")
Hdnalin = Hdna.readline()
print(Hdnalin)
Hdna.close
Udna = open("unknownDNA.txt", "r")
Udnalin = Udna.readline()
print(Udnalin)
Udna.close
S = 0
S1 = 0
S2 = 0
print("Udnalin + Mdnalin")
compareDNA(Udnalin, Mdnalin)
S1 = S
print("Udnalin + Hdnalin")
compareDNA(Udnalin, Hdnalin)
def compareDNA(i, j):
diffs = 0
length = len(i)
for x in range(length):
if i[x] != j[x]:
diffs += 1
S = length - diffs/length
S = round(S, 2)
return S
# print("Mouse")
# print("Human")
# print("RATMA- *cough* undetermined")
main()