我是一個絕對的編程初學者,我一直在做這樣的簡單任務。我真的不明白我是如何在下面的這些代碼中得到 2 個不同的結果的。
total1 = 0
for element in range(1, 100):
if element % 3 == 0:
total1 = total1 element
print(total1)
#1683
total2 = 0
for element in range(1, 100):
if element % 5 == 0:
total2 = total2 element
print(total2)
#950
print(total1 total2)
#2633
然后以不同的方式計算倍數給我不同的結果。
total = 0
for element in range(100):
if element % 3 == 0 or element % 5 == 0:
total = element
print(total)
#2318
從數學上講,如果我沒記錯的話,100 范圍內的數字 3 和 5 的倍數之和是 2633,但我無法弄清楚為什么其他解決方案給了我 2318。
提前感謝您的幫助!
uj5u.com熱心網友回復:
不同之處在于 element 是一個可以被 3 和 5 整除的數字。在您的第一種方法中,該數字將添加到總數中兩次,而在第二種方法中,它只會添加一次。
例如,您可以通過查看每種情況下會發生什么來檢查它element = 15。在您的第一個代碼中,total1和total2都會加上 15,從而得出total1 total2 = 30. 而在第二種方法中,您只需將 15 添加到總數中一次,從而使總數僅為 15。
您需要弄清楚當一個數字被兩者除時,您希望使用哪種方法,是否應該將其相加兩次?還是只有一次?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/367556.html
