for n in raage(n):
if n==0:
pass
else:
squares={i:i*i for i in xrange(n)}
dict[n]=squares
ここに質問があります。最初のn個の数値を四角にマッピングする辞書を作成します。辞書を変数の四角に関連付けます。辞書。最初のn個の数値を四角にマッピングする辞書を作成します。
私のコードで何が問題になっていますか?
for n in raage(n):
if n==0:
pass
else:
squares={i:i*i for i in xrange(n)}
dict[n]=squares
ここに質問があります。最初のn個の数値を四角にマッピングする辞書を作成します。辞書を変数の四角に関連付けます。辞書。最初のn個の数値を四角にマッピングする辞書を作成します。
私のコードで何が問題になっていますか?
>> squares={i:i*i for i in xrange(10)}
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
本当に必要ですか?これは辞書の理解と呼ばれ、for loop
の糖構文です。
あなたのコードでは、range
の行1に正しく綴りませんでしたか、raage
という名前の発電機がありますか? n
を最初の行に渡すべきではなく、n
をforループの一時行に再割り当てしてください。 for not_n in range(n)
はあなたがそれをどうするべきかです。また、n=0
を指定した場合は、for loop
から出るときにsquares
が割り当てられません。変数名にはdict
を使用しないでください。これはPythonのキーワードです。
あなたのコードの最大の問題は、あなたが本当に質問に答えていないことです。最初のnの数字の四角形を見つけ、それらの数字を四角形にマッピングするかどうかを質問します。代わりに、あなたのコードは、からnすべてのループの各番号の四角を見つける。
でもなく、forループの通常の書き込みが、あなたが大幅辞書理解使ってコードを単純化することができます初心者のため
>>> def map_nums_to_squares(n):
return {i: i * i for i in range(n + 1)}
>>> map_nums_to_squares(2)
{0: 0, 1: 1, 2: 4}
>>> map_nums_to_squares(5)
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
>>> map_nums_to_squares(10)
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
>>>
を、あなたは 'range'間違って綴ら –