これは宿題の質問で、私はかなり困惑しました。私は何度もこのコードを書き込もうとしましたが、まだ何もしていません。問題は、2 本の DNA 鎖の間で最も長い共通部分配列を見つけ、その配列を印刷することです。ここにいる誰かが私を助けて、何をすべきか教えてもらえますか? ウィンドウを設定し、find 関数を使用して文字列が等しい場所を確認し、max 関数を設定して最長のもののみを表示しました。
def main():
s1 = input("Enter first strand: ")
s2 = input("Enter second strand: ")
window = 0
if len(s1) < len(s2):
window = len(s1)
elif len(s1) > len(s2):
window = len(s2)
else:
window = len(s1)
for i in range(window, 1, -1):
for j in range(0, i, 1):
if s1.find(s1[i:i + window]) == s2.find(s2[i:i + window]):
max = a[0][0]
for i in range(len(a)):
for j in range(len(a[i]):
if (a[i][j] > max):
max = a[i][j]
print ("Common Subsequence: ", max)
else:
print ("No Common Sequence Found")
main()