0

これは私がやるべきことです:

値が整数のリストである変数 が与えられた場合、リスト 内の奇数の 2 乗のリストをnums変数に代入する代入ステートメントを記述します。square_oddsnums

リスト内包表記を使用する必要があります。

これが私がこれまでに持っているものです。範囲の部分が間違っていることは知っていますが、どのように見えるはずですか?

nums = [2 ** square_odds for square_odds in range(nums) if square_odds != x%2]

他にも間違っているところがあると思いますが、よくわかりません。

に変更しました

nums = [square_odds**2 for square_odds in range(100) if square_odds%2 != 0] 

メッセージを受け取りました

間違い: square_odds に割り当てていません。

4

4 に答える 4

2

また、nums はすでにリストであるため、range(nums) を使用しないでください。Range は、開始値と終了値を指定してリストを返します。この方法でリスト番号を反復処理します (リスト内包表記の一部)。

[SQUARING OPERATION HERE  for num in nums MODULO TEST HERE]

宿題なので全部は書きません。

于 2012-10-20T14:00:00.527 に答える
0

このソリューションはどうですか?

square_odds=[i*i for i in filter(lambda x:x&1,nums)]
于 2012-10-20T19:18:26.330 に答える