2

私はPythonの初心者です。それに基づいて最初の演習を行う必要があり、それらの解決策もありますが、一部のコマンドラインからのステートメントと機能を理解するのに問題があります。

これは演習の 1 つです: mixlist と呼ばれる新しい空のリストを作成します。この新しいリストには、colorlist 内の隣接する 2 つの色の混色が含まれます。色リストの最初の 2 色は「赤」と「黄」です。したがって、mixlist の最初の項目は「red-yellow」(赤と黄色の混合) になります。「_」文字に注意してください。mixlist を自動的に埋めるループを作成します。最後に、mixlist と入力して結果を確認します。結果が間違っている場合は、プログラムを修正する必要があります。

これが答えです:

colourList = ['red', 'yellow', 'green', 'white']
mixList = []

count = 0
oldx = " "

for x in colourList:
    if count > 0:
        print oldx + "_" + x
        mixList.append(oldx + "_" + x)
    oldx = x
    count += 1

print mixList

その中のほとんどのことを理解していません。たとえば、最初が空白で最後がoldx空白であることを意味するのは、Rが と の違いを認識できないため、このスタメントも取得できません。" "= xoldxxoldx + "_" + x

私はとても混乱しています、私は助けが必要です...

ご協力いただきありがとうございます。

4

2 に答える 2

2
 count = 0

をループするときは、count 変数を維持しますcolourList。ループを一周するたびにインクリメントされるため、ループのどの段階でも、その値はゼロから始まるリスト内の位置になります。

 oldx = " "

oldx常に「前の項目」の値です。作成者は、プログラムのこの時点で変数を宣言することを選択したため、何らかの初期値が必要です。彼らは何らかの理由で選択しました。何があっても、その値は使用される前に変更されます。後者は「一度ifだけ印刷するので値があります」と言っています。oldxcount > 0oldx

 for x in colourList:

リストをループします。初回ラウンドはcountゼロになります。

     if count > 0:

count が 0 より大きい場合、つまり最初のラウンドではなく、1 回おきのラウンド。IE は、最初の要素に対してこれを行いません。

         print oldx + "_" + x

最後の要素と現在の要素を出力します。

         mixList.append(oldx + "_" + x)

これもミックスリストに入れて、反復しながらミックスリストを構築しています。

     oldx = x
     count += 1

この要素は次回「最後の要素」になります。

 print mixList

新しいリストを印刷します。

一般に、この種の質問では、変数があり、それらがプログラムを通じてどのように変化するかがわからない場合は、作業を進めながらそれらを出力してください。その後、値の変化に合わせてプログラムの実行を追跡できます。

于 2013-10-23T14:34:57.910 に答える