ビジネスパーソン・ガジェット置場 empty lot for business

営業や仕事、それに伴う生活を便利に楽にするツール、ガジェットを作ります。既にあるツールも自分用にカスタマイズ。

python: やばいコード一覧

自分で書いておきながらなんだこれは的なコード、ただ、目的通り動いてはくれたものの一覧です。(いずれ修正します)

※これまでの記事の中にもダメなコードが多々ある事実はここでは置いておきます。

①文章とリストの比較(CheckiOより)

例えば、"hi world im here" という文章と ['world', 'here'] というリストがあったとします。リストの中にある単語が文章の中にあって、さらにリストの順番と文章内のその単語の順番があっていればTrue、違っていればFalseを返す関数を作る。という問題。

※リストはworld > here の順番、文章は hi > world > im > hereという順番なので、リスト内の単語だけ見ると文章内でも同じ順番なので例の解答はTrueになります。

 

そこで作った関数がこちら

 

def words_order(text: str, words: list) -> bool:

    l = []
    for word in words:
        if word in text.split(' '):
            l.append(text.index(word))
        else:
            return False
    i = 0
    li_check = []
    while i + 1  < len(l):
        if l[i] < l[i+1]:
            li_check.append('OK')
        else:
            li_check.append('NOK')
        i += 1
    
    if 'NOK' in li_check:
        return False
    else:
        return True

長いしわかりずらい、、、感じですが、目的は果たすことができました。