我按照以下方式解决了https://www.codechef.com/problems/FLOW004:
print(*[int(i[0])+int(i[-1]) for i in [list(str(input())) for _ in range(int(input()))]], sep='\n')
这是解决问题的好方法吗?
答案 0 :(得分: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