ここにウィンクルソン!問題に悩まされたとき、私は現在Pythonを学んでいます。考えているだけでめまいがするところまで来ました:Pとにかく助けていただければ幸いです!前もって感謝します!
質問:
インターロック
パラメータと同じ長さまたは同じ長さの1文字以内の2つの文字列を受け取る関数を作成します。次に、これらの2つの文字列を取得してインターロックし、各文字列から1文字を取得して、それらをインターロックする必要があります。文字列の長さが異なる場合、結果は常に長い文字列で始まる必要があります。
私のコーディング(申し訳ありませんが、私は初心者で、あまりPythonicではありません:P):
def interlock(s1, s2):
r = 0
l1 = []
l2 = []
inters = ''
for i in range(len(s1)):
l1.append(i)
for i in range(len(s2)):
l2.append(i)
if len(s2) == len(s1):
for i in range(len(s1)):
inters += ''.join(s1[i])
inters += ''.join(s2[i])
elif len(s1) < len(s2):
for i in range(len(s1)):
inters += ''.join(s2[i])
inters += ''.join(s1[i])
r = i
inters += ''.join(s2[r])
elif len(s2) < len(s1):
for i in range(len(s2)):
inters += ''.join(s1[i])
inters += ''.join(s2[i])
r = i
inters += ''.join(s1[r])
else:
pass
return inters
結果(私が受け取る結果):
___________________________________________________________________________________________
Call Expected Received Correct
interlock('shoe','cold') schooled schooled true
interlock('flat','etry') feltarty feltarty true
**interlock('ab','siy') saiby saibi false**
**interlock('abalone','hammer') ahbaamlmoenre ahbaamlmoenrn false**
interlock('','a') a a true
___________________________________________________________________________________________
2つの太字のフィールドは、私が最も問題を抱えている場所です。最後の文字を追加しようとすると、不思議な範囲外の例外が発生します。任意のアイデア/ソリューションをいただければ幸いです。-ウィンクルソン
追伸これは私の通常の投稿よりも短いです...通常、私は私が間違っていると思うことについて(不)正確な考えを与えます、そしてそれは何度も何度も何度も引きずります....あなたはアイディア。とにかく、私はおそらく馬鹿のように私のループを壊しました。とても幸運!
ありがとう
より良いプログラマーになる方法を提案してくれた皆さん、ありがとう!一日にプログラムする時間があまりないので、たくさんの人が一日の時間を割いて何かを提案するのは素晴らしいことです。私はこのウェブサイトが大好きで、それはコミュニティです:)