def similarity(dna1, dna2):
count = 0
for i in range(len(dna1)):
if dna1.lower()[i] == dna2.lower()[i]:
count += 1
return count / len(dna1)
def best_match(dna_list, dna):
for dna_seq in dna_list:
dna1 = dna_seq
dna2 = dna
dict = {dna_seq: similarity(dna1, dna2)}
return dict
ใน best_match ฉันได้รับรายการที่มีลำดับดีเอ็นเอ (dna_list) การใช้ฟังก์ชันข้างต้นฉันต้องเปรียบเทียบแต่ละลำดับกับดีเอ็นเอที่กำหนด (dna) จากนั้นส่งคืนลำดับดีเอ็นเอที่มีความคล้ายคลึงกันสูงสุด ฉันกำลังพยายามสร้างพจนานุกรมเพื่อจัดเก็บลำดับดีเอ็นเอด้วยค่าความคล้ายคลึงกัน จากนั้นเปรียบเทียบความคล้ายคลึงกัน แล้วส่งคืนลำดับที่สอดคล้องกัน อย่างไรก็ตาม ฉันติดอยู่ เมื่อฉันเรียกใช้สิ่งนี้ มันจะส่งคืนลำดับดีเอ็นเอเพียงลำดับเดียวและค่าความคล้ายคลึงนั้น อย่างไรก็ตาม ฉันได้รับลำดับดีเอ็นเอสามลำดับ ฉันยังประสบปัญหาเนื่องจากรายการลำดับดีเอ็นเอที่กำหนด (ใน dna_list) อาจแตกต่างกันไป
IndentationError
คุณจึงต้องระมัดระวังอย่างยิ่งในการวางโค้ดที่เยื้องอย่างถูกต้องที่นี่ หากการเยื้องของคุณไม่ถูกต้อง เราไม่รู้ว่านี่เป็นปัญหาจริงในโค้ดของคุณหรือเป็นข้อผิดพลาดในการคัดลอก/วาง - person Two-Bit Alchemist   schedule 21.07.2015