gjeld = [79, 99, 598, 879, 299, 99, 79, 299, 99, 299, 598, 897]
for n in gjeld:
if n > 500:
print(n)
上面的串列可以說是稅收,我需要找到超過 500 的稅收并列印超過 500 的所有數字的總和。它將列印:
598
879
598
897
按照這個順序,我需要一種方法來把所有這些數字加起來。(這是一項學校任務)
我試著做:
gjeld = [79, 99, 598, 879, 299, 99, 79, 299, 99, 299, 598, 897]
a=[]
for n in gjeld:
if n > 500:
a.append(n)
print(n)
但它沒有用
uj5u.com熱心網友回復:
如果是學校作業,我會假設他們不希望您使用sum()內置函式,所以讓我們手動求和:
total = 0
for n in gjeld: # loop over gjeld
if n > 500: # if n is over 500, then
total = total n # compute total n, and assign back to total
print(total) # print the total computed after the loop
如果sum()被允許,那么你會看
a = []
for n in gjeld:
if n > 500:
a.append(n)
print(sum(a))
如果允許生成器運算式或串列推導——這是最 Pythonic 的寫法——
print(sum(n for n in gjeld if n > 500))
uj5u.com熱心網友回復:
您擁有的代碼是一個好的開始,但到目前為止您所做的只是將高于 500 的數字放在一個串列中,所以在回圈之后a = [598, 879, 598, 897]。完成創建串列后,您需要將串列中的所有內容添加在一起,您可以使用sum(a)
for n in gjeld:
if n > 500:
a.append(n)
print(n)
print(sum(a))
uj5u.com熱心網友回復:
gjeld = [79, 99, 598, 879, 299, 99, 79, 299, 99, 299, 598, 897]
a=0
for n in gjeld:
if n > 500:
a=a n
# print all above 500
print(n)
# print after sum
print(a)
uj5u.com熱心網友回復:
您可以使用生成器執行此操作:
gjeld = [79, 99, 598, 879, 299, 99, 79, 299, 99, 299, 598, 897]
print(sum(x for x in gjeld if x > 500))
這將為您提供串列中大于 500 的任何/所有值的總和。它不會列印單個值。
或者:
print(sum(filter(lambda x: x > 500, gjeld)))
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/455296.html
