2017-08-26 33 views

回答

0

这当然是一种解决方法... 是什么意思 - 它通过测试?

使用一个循环,强制它在一行不会使这个更快,只是不太可读。 input()已经返回一个字符串,你可以索引它没有把它变成一个list,如:

for _ in range(int(input())): 
    i = input() 
    print(int(i[0])+int(i[-1])) 

你可以使用operator.itemgetter()来得到你需要的值,例如:

import operator as op 
fl = op.itemgetter(0, -1) 

for _ in range(int(input())): 
    print(sum(map(int, fl(input())))) 

另一种更数学解决方法:

In []: 
import math 

flsum = lambda x: x//(10**int(math.log10(x))) + x%10 

for _ in range(int(input())): 
    print(flsum(int(input()))) 

Out[]: 
5 
5 
5 
+0

它通过了测试 – kesoh

+0

@kesoh所以你如何定义好? – AChampion

+0

良好的可读性,性能 – kesoh

相关问题