计算和生成完全平方数
我需要一些建议,想写一个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) ]