我是编程的新手,我被卡住了。
我想编写一个代码,在列表中收集1000和1000范围内的3和5的倍数并将其求和。现在我能够通过编写以下内容在shell中执行此操作:
numbers = []
for number in range(1001):
if number%3 == 0 or number%5 == 0:
numbers.append(number)
sum (numbers)
它给了我答案234168所以这是有效的,但是,如果我把它写入文件:
def multiples():
numbers =[]
for number in range(10):
if number%3 == 0 or number%5 == 0:
numbers.append(number)
sum (numbers)
multiples()
然后在shell python中会告诉我代码运行了,但是没有给我任何回复!我尝试使用print,删除空格,重新定位行,但它只是没有给我回复结果。(甚至没有错误信息)
请帮助我,因为这让我发疯,我想为任何写作错误道歉,因为英语不是我的母语。
答案 0 :(得分:0)
def multiples():
numbers = []
for number in range(10):
if number % 3 == 0 or number % 5 == 0:
numbers.append(number)
return sum(numbers)
print (multiples())
输出:
23
答案 1 :(得分:0)
您需要在def time_constant_values(df, time_value, band_list):
if time_value in df.index:
return df.loc[time_value, band_list].to_dict()
函数中返回数字的总和。
尝试使用如下函数:
multiples
当您在python shell中逐步运行代码时,shell始终打印最后一个语句的结果,因此它打印了def multiples():
numbers =[]
for number in range(10):
if number%3 == 0 or number%5 == 0:
numbers.append(number)
return sum(numbers)
语句计算的内容。使用函数时,需要return语句(Python Docs: Return Statement)才能将值传递给函数的调用范围。