def check_pnr (a):
for i in range (len (a)):
if i % 2 == 0:
res1 = a[i] * 2
res2 = (res1 % 10) + (res1 // 10)
伙计我是python的新手,我刚刚开始学习它,希望你能帮忙解决这个问题。 你如何得到我从res2获得的数字总和?
答案 0 :(得分:1)
快速修复:
代码:
def check_pnr (a):
res2 = 0
for i in range (len (a)):
if i % 2 == 0:
res1 = a[i] * 2
res2 += (res1 % 10) + (res1 // 10)
return res2
记录&这件事的美妙之处,我会用嵌套的生成器理解和sum
在一行中写出来:
def check_pnr(a):
return sum((res1 % 10) + (res1 // 10) for res1 in (a[i]*2 for i in range(0,len(a),2)))
(请注意,使用range
中的步骤可以保存偶数测试)