所以我最近发现了一个项目euler,这对于在编程语言中进行实验和练习来说非常棒。我最近刚刚想出了问题6的答案,但我觉得这是一种丑陋而不雅的做法。欧拉项目 - python中的#6
的问题询问:
前十个自然数的平方的总和, 1 ** 2 + 2 ** 2 + ... + 10 ** 2 = 385
前10个自然数总和的平方为: (1 + 2 + ... + 10)** 2 = 552 = 3025
因此,前10个自然数的平方和数字和平方和为3025 - 385 = 2640.
找到前100个自然数的平方和和平方和之差。
我的代码如下所示:
def sum_sq(value):
count = value + 1
while count > 0:
sum_sq = []
for x in range(count):
sum_sq.append(x**2)
count = count - 1
sum_sq = sum(p)
count1 = value + 1
while count1 > 0:
sq_sum = []
for i in range(count1):
sq_sum.append(i)
count1 = count1 - 1
sq_sum = sum(sq_sum)**2
return sq_sum - sum_sq
>>> sum_sq(10)
2640
>>> sum_sq(100)
25502115
你的乡亲有什么建议,使这个更短一点,效率?我对python比较陌生,所以原谅我。我想学习好的编码技术,而不是养成编写错误代码的习惯。提前致谢!
要在堆栈溢出将代码粘贴,复制和粘贴正是你所拥有的,突出显示所有的它,然后单击' {}'代码格式化按钮。 – geoffspear
此问题似乎是脱离主题,因为它属于http://codereview.stackexchange.com – jonrsharpe
不要混合使用空格和制表符。你的缩进被搞砸了。只能使用空格。 – ooga