计算和生成完全平方数

-1 投票
6 回答
4059 浏览
提问于 2025-04-16 06:57

我需要一些建议,想写一个Python程序,让它给我一个前n个完美平方数的列表。输出应该是这样的:

How many squares?: 5  
[1, 4, 9, 16, 25]

这是我目前写的:

n = int(raw_input("How many squares? "))

接下来我需要创建一个前n个平方数的列表。有什么建议吗?谢谢你的时间和建议。

6 个回答

2
n = int(raw_input("How many squares? "))
map((2).__rpow__, range(1, n+1))

或者

from operator import mul
n = int(raw_input("How many squares? "))
map(mul, *[range(1, n+1)]*2)
4

接下来我需要开始创建前n个平方数的列表。有什么建议吗?谢谢你的时间和建议。

这方面你可以得到帮助。至于其他部分,发一下你的算法。

可以用range来生成一个列表:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

可以用列表推导式来获取x的平方列表。

>>> [x**2 for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> 

Novikov提供了一个更优雅的答案。

10

可以使用列表推导式:

[ a*a for a in xrange(1, n + 1) ]

撰写回答