我正在學習 python,無法理解這個程式。我似乎無法找到正確的回圈來獲得結果。
問:創建一個名為 sum Of Multiples 的 Python 函式,它有兩個整數引數 x 和 n。
示例:倍數之和(3,5);
預期產量:46
uj5u.com熱心網友回復:
這是簡單的數學運算,總和等于1 x*(1 2 3 ... n),所以1 x*(n*(n 1)//2):
def sumOfMultiples(x,n):
print(1 x*n*(n 1)//2)
sumOfMultiples(3, 5)
46
uj5u.com熱心網友回復:
sum = 1 x 2x 3x ...
可以寫成 sum =1 x(0 1 2 3 ...)
因此,只需使用從 0 到 n 或 n 1 的 for 回圈,具體取決于您應該在哪里停止并將結果與?? x 相乘。甚至更短的使用 sum 和 range:
def sumOfMultiples(x, n):
print(1 sum(range(n 1))*x)
uj5u.com熱心網友回復:
這個問題基本上是要求你對 x 的所有 n 個復數求和。所以只要這樣做,
def sumOfMultiples(x, n):
m_sum = 1
for i in range(1, n 1):
m_sum = i*x
return m_sum
sumOfMultiples(3,5)
你也可以這樣做,
sumOfMultiples = lambda x,n: sum([1] [x*i for i in range(1, n 1)])
sumOfMultiples(3,5)
uj5u.com熱心網友回復:
我們只是說這應該可以完成作業,但沒有真正優化:
def sumOfMultiples(x,n):
x_muti = [1]
for i in range(1,n 1):
x_muti.append(x*i)
print(sum(x_muti))
sumOfMultiples(3,5)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/473798.html
標籤:Python python-3.x 功能 循环 和
