このタスクで数時間トラブルが発生しました。
まず、辞書引数を受け取り、最大値に関連付けられたキーを返す関数が必要です。これは私が試したことです:
def findKeyForLargestValue(d):
maxKey = ''
maxValue = 0
for name in d:
for subName in d[name]:
d = d[name][subName]
if d > maxValue:
maxKey = subName
return maxKey
次に、文字列 'name' と辞書 'overlaps' を引数として受け取る関数を作成する必要があります。この関数は、ゲノム シーケンスを表す順序で読み取り名のリストを返す必要があります。
`def findOrder(名前、オーバーラップ):
readOrder = []`
他の関数内で関数 findKeyForLargestValue(d) を使用する必要があります。[name] を返す基本ケースと、[name] + findOrder(nextName) を返す再帰ケースを使用する必要があります。nextName は、現在の読み取り (名前) の右端に最大の重複がある読み取りの名前です。 .
私は本当に迷っているので、助けていただければ幸いです。findKeyForLargestValue のコードが正しいかどうかさえわからない