【发布时间】:2021-11-24 11:51:28
【问题描述】:
我是编程的绝对初学者,我一直在做像这样的简单任务。 而且我真的看不出我如何在下面的这些代码中得到 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。
提前感谢您的帮助!
【问题讨论】:
-
因为你在数例如15 两次,这是不正确的。
-
请编辑您的帖子并将代码放入代码区域。
-
请注意,您的第一个代码可能更快更简洁:
total1 = sum(range(0, 100, 3)和total2相同
标签: python for-loop multiple-select