计算给定列表中的偶数
Counting even numbers in a given list
我正在尝试计算给定列表中的数字并且只计算偶数。我一直收到语法错误,但不知道问题出在哪里。
x = [1,5,4,7,2,10,8,19,27,26,54,80]
def count_evens(g_list):
y = 0
for i in g_list:
if g_list[i] % 2 = 0:
y = y + 1
else:
y = y + 0
print(str(y))
count_evens(x)
语法错误来自if g_list[i] % 2 = 0:
我的语法有什么问题?
谢谢!
g_list[i] % 2 = 0
是一个赋值语句(而且是非法的,因为你 "Can't assign to an operator")。 if
语句(仅表达式)中不允许赋值语句。
你想要 g_list[i] % 2 == 0
这是一个逻辑表达式。
syntax error
你想比较所以使用 ==
而不是 =
(单个相等用于赋值)
if g_list[i] % 2 == 0:
index is out of range
要遍历列表的所有元素,可以使用这种形式:
for i in g_list:
if i % 2 == 0: # No need for g_list[i]
# in your for loop,
# i is an element from the list, not an index
我正在尝试计算给定列表中的数字并且只计算偶数。我一直收到语法错误,但不知道问题出在哪里。
x = [1,5,4,7,2,10,8,19,27,26,54,80]
def count_evens(g_list):
y = 0
for i in g_list:
if g_list[i] % 2 = 0:
y = y + 1
else:
y = y + 0
print(str(y))
count_evens(x)
语法错误来自if g_list[i] % 2 = 0:
我的语法有什么问题?
谢谢!
g_list[i] % 2 = 0
是一个赋值语句(而且是非法的,因为你 "Can't assign to an operator")。 if
语句(仅表达式)中不允许赋值语句。
你想要 g_list[i] % 2 == 0
这是一个逻辑表达式。
syntax error
你想比较所以使用 ==
而不是 =
(单个相等用于赋值)
if g_list[i] % 2 == 0:
index is out of range
要遍历列表的所有元素,可以使用这种形式:
for i in g_list:
if i % 2 == 0: # No need for g_list[i]
# in your for loop,
# i is an element from the list, not an index