皆さん、こんにちは。python での並べ替えと並べ替え関数の作成について助けが必要です。文字列項目insert_in_order
のリストと文字列項目を受け取る関数を作成しようとしています。アイテムがすでにアルファベット順にソートされており、アイテムをアイテムの正しい位置に挿入する必要があると仮定して、これを実行しようとしています
また
私が直面している同じ問題に関して、リスト項目と文字列項目remove
を取る関数も修正したいと思います。この関数は、items内のitemの最初の出現を削除する必要があります。また、itemがitemsにまったく出現しない場合、関数は item を変更しないままにしておく必要があります。
編集:
私の元の関数セットは次のとおりです
def read_list(fname):
items = []
with open(fname, 'r') as fin:
for line in fin:
items = insert_in_order(items, line[:-1])
return items
def write_list(items, fname):
fout = open(fname, 'w')
for item in items:
fout.write(item + '\n')
fout.close()
また、これらの機能をテストすることになっているテストファイルもあります。
class TestLabThre(unittest.TestCase):
def test_read_list(self):
self.assertEqual(
read_list('lab06ReadTest.txt'),
['a', 'b', 'c', 'd', 'e'])
def test_write_list(self):
write_list(['a', 'b', 'c', 'd', 'e'], 'lab06WriteTest.txt')
in_file = open('lab06WriteTest.txt', 'r')
self.assertEqual(in_file.read(), 'a\nb\nc\nd\ne\n')
myinsert_in_order
およびremove
functions は、テストを実行すると合格するように関数に追加されることになっています。しかし、毎回「失敗したテスト」が表示されます。
私は本当に混乱しており、正しい方向に私を向ける助けをいただければ幸いです。