2017-02-02 11 views
-1
def startsWith(string, lst): 
    newlst = [word.lower() for word in lst] 
    for word in newlst: 
     if string.lower() in lst: 
      print(word) 

このコードをPythonで動作させることはできません。これは問題です。文字列とリストを比較するPythonプログラミング

ターゲット文字列と単語のリストの2つの引数をとる関数startsWithを作成します。次に、ターゲット文字列で始まる各単語をリストに出力します。完全なクレジットを受け取るには、テストでは大文字と小文字を区別するべきではなく、対象と対象となる単語の両方を無視します。

+0

ようこそ繰り返しstring.lower()を呼び出して回避しようとします。正確に動作していないものについて、この質問にいくつかの詳細を追加することを検討してください。可能であれば、得られた結果と、期待される結果との違いをどうか提供してください。 – RedBassett

答えて

2

まず、私はあなたが

if string.lower() in word: 

instartswithと全く同じではありませんが、それはあなたが今後取得する必要があります意味

if string.lower() in lst: 

の代わりにと考えています。

word.startswith(string.lower())よう

何かが動作しますが、スタックオーバーフローに

+0

宿題に関する優れた答えです。名誉! –

+1

私が指摘する価値のあることは、OPのコード(あなたの変更を加えても)が一致する単語の*小文字のバージョン*を出力するということです。比較自体は大文字と小文字を区別しませんが、一致する単語の未修正バージョンを印刷する方が良いと思います。 – Tagc

+0

@Tagc、はい私は同意します。ボーナスとして、一時的なリストの作成を節約します –

関連する問題