坚持使用Zybooks for Python的列表示例

时间:2016-10-22 20:16:00

标签: python

我遇到了关于Zybooks问题的问题,这是他们为您提供的问题和代码。语言是Python。

sum_extra分配给 list test_grades收到的额外学分。完全信用额度为100,因此超过100的任何信用额度均为额外信用。对于给定的计划,sum_extra8,因为1 + 0 + 7 + 0 is 8

给定程序的示例输出:

总和:8

test_grades = [101, 83, 107, 90]
sum_extra = -999 # Initialize 0 before your loop

'''Enter your code here'''

print('Sum extra:', sum_extra)

这是最后一次尝试:

for i in range(len(test_grades)): 
    sum_exta = 100 - int(test_grades) 

我只是不知道如何继续使用该代码。我迷路了。

1 个答案:

答案 0 :(得分:0)

非常简单,尝试sum功能和"列表理解" 条件:

test_grades = [101, 83, 107, 90]

sum_extra = sum([grade - 100 for grade in test_grades if grade > 100])
print(sum_extra)   # 8

或者我们可以使用生成器表达式,只需迭代一次(不再使用列表):

sum_extra = sum(grade - 100 for grade in test_grades if grade > 100)