问题描述
我最近才开始学习Python。我无法弄清楚我的函数返回错误值的原因。基本上,我想计算列表中的偶数总数。
myModule.py中的代码
def evennum(x):
e_count = 0
for num in x:
if num % 2 == 0:
e_count += 1
return e_count
main.py中的代码
import sys
import myModule
inputList = [int(s) for s in sys.argv[1].split(',')]
print("no. of even numbers is:%d"%(myModule.evennum(inputList)))
以cmd输出
C:\Users\belle\Testing\Exercise1> main.py 14,12,9,21,23,2
no. of even numbers is:1
结果应该是3而不是1 ...
解决方法
缩进。以前的版本一旦找到一个偶数就返回1,如果None
没有,则返回x
。
def evenNum(x):
e_count = 0
for num in x:
if num % 2 == 0:
e_count += 1
return e_count