一道编程题

编程实现:

让用户在一次输入时输入 N 个数字(2<=N<=15,即每次输入的数字数量不同),数字之间以“,”作为分

隔。

然后组合显示:

(1)用户输入的数字个数;

(2)用户输入的最小的数字;

(3)将用户输入的数字按从大到小进行排列输出,数字之间以“,”作为分隔;

(4)如果用户输入的数字小于等于 26,则找到相对应的 26 个大写英文字母(1 对应“A”,26 对应“Z”),

并拼接在一起打印显示,如果输入的数字在 1~26 之外则不显示相应字母。(例:程序输入 214,则显示输出

“[bad]”)。

输入:

N 个数字,2<=N<=15

输出:

输入的数字个数

输入的最小数字

输入的数字从大到小排列

输入的数字所对应的字母

样例输入:

9,12,15,22,5,21,214

样例输出:

7

5

214,22,21,15,12,9,5

ILOVEU[bad]

假设 a = [2, 1, 3]


1. len(a)

2. min(a)

3. 先 a.sort(reverse=True),然后 ','.join([str(x) for x in a])

4. ''.join([chr(64 + x) if x > 0 and x < 27 else '[bad]' for x in a])

s=input()#输入数字
l=s.split(',')#用分隔符分割数字
num_list=[int(x) for x in l]#将字符串转换为整数
n=len(l)#数字的个数
MIN=min(num_list)#最小值
num_list_sort=num_list.copy()#复制一份用作其他用途
num_list_sort.sort(reverse=True)#对自身进行降序排序
char_list=[]
for i in num_list:
    if i>26 or i<1:
        char_list.append("[bad]")
    else:
        char_list.append(chr(64+i))
print(n)
print(MIN)
for i in num_list_sort:
    print(i,end=" ")
print()
for i in char_list:
    print(i,end=" ")