Python 字典。创建一个字典,将前n个计数数字映射到它们的平方

Python 字典。创建一个字典,将前n个计数数字映射到它们的平方,python,Python,这里有一个问题:创建一个字典,将前n个计数数字映射到它们的平方。将字典与变量平方关联 我的代码有什么问题 for n in raage(n): if n==0: pass else: squares={i:i*i for i in xrange(n)} dict[n]=squares 这就是你真正需要的。它被称为字典理解,是循环的一种糖类语法 至于您的代码,您在第1行中没有正确拼写range,或者您是否有一个名为raage的生成器。您也不应该将n

这里有一个问题:创建一个字典,将前n个计数数字映射到它们的平方。将字典与变量平方关联

我的代码有什么问题

for n in raage(n):
    if n==0:
        pass
    else:
        squares={i:i*i for i in xrange(n)}
dict[n]=squares
这就是你真正需要的。它被称为字典理解,是循环的一种糖类语法

至于您的代码,您在第1行中没有正确拼写
range
,或者您是否有一个名为
raage
的生成器。您也不应该将
n
传递到第一行,然后在for循环中将
n
重新分配给临时行<代码>不在范围内(n)是您应该如何做的。另外,如果您只给出
n=0
,那么当您退出
for循环时,
squares
就不会赋值了。也不要使用
dict
作为变量名,因为它是Python中的一个关键字

这就是你真正需要的。它被称为字典理解,是循环
的一种糖类语法


至于您的代码,您在第1行中没有正确拼写
range
,或者您是否有一个名为
raage
的生成器。您也不应该将
n
传递到第一行,然后在for循环中将
n
重新分配给临时行<代码>不在范围内(n)是您应该如何做的。另外,如果您只给出
n=0
,那么当您退出
for循环时,
squares
就不会赋值了。也不要使用
dict
作为变量名,因为它是Python中的一个关键字

你的代码最大的问题是你没有真正回答问题。这个问题要求你找到前n个数字的平方,并将这些数字映射到平方。相反,您的代码会在每个循环中查找从0到n的每个数字的平方

但与编写普通for循环不同,您可以通过使用字典理解大大简化代码:

>> 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}

你的代码最大的问题是你没有真正回答这个问题。这个问题要求你找到前n个数字的平方,并将这些数字映射到平方。相反,您的代码会在每个循环中查找从0到n的每个数字的平方

但与编写普通for循环不同,您可以通过使用字典理解大大简化代码:

>> 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}

下面是我为这个问题所做的:

>>> 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}
>>> 

我使用了一个不同于n的变量来跟踪循环需要运行多少次,因为他们不希望您出于某种原因更改n的值。

下面是我为这个问题所做的:

>>> 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}
>>> 

我使用了一个不同于n的变量来跟踪循环需要运行多少次,因为他们不希望您出于某种原因更改n的值。

对于初学者,您拼写了
range
错误对于初学者,您拼写了
range
错误