输入n个不超过30000的整数(n≤10)。然后求出每个数的数字和,再按每个数的数字和由小到大排列输出。
def numSum(x):
s=0
while x:
s+=x%10
x//=10
return s
n=list(map(int,input().split()))
n.sort(key=numSum)
print(*n)
还可以更简单
n=input().split()
n.sort(key=lambda x:sum(map(int,x)))
print(*n)
继续简化
print(*sorted(input().split(),key=lambda x:sum(map(int,x))))
n = int(input())
numbers = []
for i in range(n):
numbers.append(int(input()))
sums = []
for number in numbers:
sums.append(sum(int(digit) for digit in str(number)))
for number, digit_sum in sorted(zip(numbers, sums), key=lambda x: x[1]):
print(number)