練習提示如下:
使用 for 回圈從開始按增量對計數值求和。使用:total = sum_count(start, increment, count) 引數: start - 范圍起始值(int) increment - 范圍增量(int) count - 范圍內值的個數(int)
我想出了什么:
def sum_count(start, increment, count):
total = start
for i in range(start, count):
i = increment
total = i
else:
return total
當我使用值 2、2、5 呼叫和列印函式時,回傳值應該是 30,但是我只回傳值 17。我的代碼的哪一部分是錯誤的?
uj5u.com熱心網友回復:
如果你想重復一些事情x,你可以使用一個for _ in range(x)不對值_本身做任何事情的回圈。
將任務讀取為
使用 for 回圈對by 的
count值求和startincrement
意味著這count不是范圍的上限 - 這就是你所做的 - 而是要加起來的值的數量。因此,對于count時間,將start值增加并取值increment的總和。
def sum_count(start, increment, count):
total = 0
for _ in range(count):
total = start
start = increment
return total
uj5u.com熱心網友回復:
你實際上不需要一個回圈。它可以在O(1)數學的幫助下以時間復雜度來完成。
# Arithmetic Progression
def sum_count(start, increment, count):
total = 2 * start (count -1) * increment
total = (n * total) // 2
return total
uj5u.com熱心網友回復:
def sum_count(start, increment, count):
total = 0
for i in range(start, count):
i = start increment
total = i
else:
return total
start并且increment在回圈期間永遠不會改變。它們始終為 1。
所以你要加(1 1)四次,總共八次。
我不明白你為什么期望 15。
uj5u.com熱心網友回復:
首先,您應該注意回圈迭代 4 次而不是 5 次,因為您將計數傳遞為 5。現在,如果您想要一個回圈以 1、1、5 作為引數獲得 15,您可以將代碼修改為:
def sum_count(start, increment, count):
total = 1
for i in range(start, count):
i = start increment
total = total i
start = start increment
print("Total: ", total)
return total
如果總 = 0,那么你得到 14 而不是 15。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/438310.html
上一篇:使用函式創建類屬性
