spontaneous 发表于 2020-11-20 16:13:56

学校的一道问题求助

给定n个整数,请计算每个整数各位数字和,按各位数字和从大到小的顺序输出。
输入格式  

  输入的第一行包含一个整数n,表示给定数字的个数。第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。
输出格式  


  输出多行,每行包含两个整数,分别表示一个给定的整数和它的各位数字和。按各位数字和递减的顺序输出。如果两个整数各位数字和相同,则先输出值较小的,然后输出值较大的。
样例输入
5
101 100 999 1234 110

样例输出
999 27
1234 10
101 2
110 2
100 1

Twilight6 发表于 2020-11-20 16:43:18


参考代码:

count = int(input())
numbers = input().split()
result = []
for i in numbers:
    temp =
    temp.append(sum())
    result.append(temp)
for i in sorted(result,key=lambda x:x,reverse=True):
    print(i,i)

冬雪雪冬 发表于 2020-11-20 23:35:24

n = input()
data = input().split()
list1 = [for i in data]
list1.sort(key = lambda x: x, reverse = True)
for i in list1:
    print(i, i)

Cool_Breeze 发表于 2020-11-21 10:01:42

#!/usr/bin/env python3
#coding=utf-8

# count = int(input())
# array = input().split()
array = ['999', '1234', '110', '101', '100', '010', '001', '1234']

# 第一遍排自身各个位上的数 的和
result = []
for i in array:
    result.append()])

print(result)
result.sort(key=lambda x:x, reverse=True)
print(result)
# 第二遍排自身
count = 0
for i in range(len(result)-1):
    if result == result:
      count += 1
    else:
      if count != 0:
            result = sorted(result)
            count = 0

# 退出后尾部有相等
if count != 0:
    i, count = i+1, count+1
    result = sorted(result)

for i in result: print(i)
页: [1]
查看完整版本: 学校的一道问题求助