所以我最近發現了一個項目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