data = [
['Video A','500'],
['Video B','300'],
['Video C','1000']
]
result = 0
for index in data:
title = index[0]
views = index[1]
if title == 'Video' :
result += views
print(result)
当我运行print时,我总是得到0。答案应该是1800。问题是没有错误,而且我找不到我犯错的部分。
答案 0 :(得分:4)
好像您想检查标题以 "Video"
开头。
此外,您的视图是字符串,需要转换为整数。
尝试一下:
data = [
['Video A', '500'],
['Video B', '300'],
['Video C', '1000']
]
result = 0
for index in data:
title = index[0]
views = index[1]
if title.startswith('Video'):
result += int(views)
print(result)
答案 1 :(得分:0)
正确的代码:
data = [
['Video A','500'],
['Video B','300'],
['Video C','1000']
]
result = 0
for index in data:
title = index[0]
views = index[1]
#you can use
#if title[:len("Video")] == 'Video':
#or
#if title.startswith('Video'):
result += int(views)
print(result)
答案 2 :(得分:0)
您也可以使用split
:
data =
['Video A','500'],
['Video B','300'],
['Video C','1000']
]
result = 0
for index in data:
title = index[0]
views = index[1]
if title.split(' ',1)[0] == 'Video' :
result += int(views)
print(result)
它可以确保'Video'
后面有一个空格,并可以访问名称的其余部分:
v = "Video A and B"
l = v.split(" ",1)
l[0] # 'Video'
l[1] # 'A and B'