Python 字典。创建一个字典,将前n个计数数字映射到它们的平方
这里有一个问题:创建一个字典,将前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
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
错误