2

私はコード アカデミーで python を学ぼうとしています。割り当ては、「start_list の各項目の 2 乗 (x ** 2) である項目を square_list に入力する for ループを作成します。次に、square_list を並べ替えます!」というものです。

ヒントには、for ループ、append 関数、および sort 関数があると書かれており、それらを正しく使用していると思います。

 start_list = [5, 3, 1, 2, 4]
 square_list = []

 for start_list in square_list: 
     square_list.append(start_list**2)
     sort(square_list)
 print square_list

次のエラー メッセージが表示されます。

square_list.insert(0, start_list**2) も使用してみましたが、同じエラーが発生します。行き詰まっているので、助けていただければ幸いです

4

4 に答える 4

2

の各要素を反復処理する必要がありますstart_list

for item in start_list:            # for each element in `start_list`
    square_list.append(item ** 2)  # add square of `item` in `square_list`

square_list.sort();                # finally sort the list

または、式sorted()に対して関数を使用できます。generator

>>> sorted(item ** 2 for item in start_list)
于 2013-07-15T18:21:20.347 に答える
2

コードにはいくつか問題があります。

for start_list in square_list: 
    square_list.append(start_list**2)
    sort(square_list)

最初の行にfor start_list in square_list:. start_listそれは、「 in ごとにループで何かをしたいsquare_list。問題は、これらが 2 つの別々のリストであることです。 のすべての項目を表す新しい変数を作成する必要がstart_listあります。最初の 2 行は次のようになります。

for x in start_list: 
    square_list.append(x ** 2)

これは、各値( x) をループしstart_list、その正方形を に追加しますsquare_list

2 番目の問題は、行sort(square_list)です。これはインデントしないでください。インデントすると、ループのたびに実行されます。また、リストをソートする構文はsquare_list.sort(). したがって、これらの 3 行は次のようになります。

for x in start_list: 
    square_list.append(x ** 2)
square_list.sort()
于 2013-07-15T18:28:32.970 に答える
0
start_list = [5, 3, 1, 2, 4]
square_list = []

# Your code here!

for x in start_list:
   square_list.append(x ** 2)
   square_list.sort()
print square_list
于 2015-05-28T03:06:21.667 に答える