16.数字大小升降排序编写

Posted zhangan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16.数字大小升降排序编写相关的知识,希望对你有一定的参考价值。

数字大小升降排序编写输入描述:
输入为:
1. 排序方式:DESC(降序) ASCE(升序),分别表示按降序和升序排列,大小写不敏感
2. 一组十进制整数字符串,以","符号作为分隔符
例子:
DESC 789,123,456
ASCE 234,567,89
排序方式DESC ASCE请忽略大小写
输出描述:
按指定排序方式排序后得到的十进制整数字符串;
输出的数字字符串数组,以","字符作为分隔符。
示例1
输入:
ASCE 789,123,456
输出:
123,456,789 #整体是升序,每一个具体的也是升序

示例2

输入:

DESC 1258,529,2267

输出:

8521,7622,952   #整体是降序序,每一个具体的也是降序

二,下面的代码编写:

         一种是if分别判断,另一种运用了集合优化简单

 1 print(输入的格式为:
ASCE 123,456,789
DESC 123,456,789)
 2 string = input(请输入你的序列:)
 3 string_clear = string.strip() #这一步是防止用户在首尾出多输入空格,处理首尾的空格
 4 sort = string_clear.split( )[0].replace( ,‘‘).upper() #以空格拆分取出排序的方式然后小写改大写
 5 num = string_clear.split( )[1].replace( ,‘‘)  #以空格拆分取出用户输入的字符串数字
 6 if sort not in  [ASCE,DESC]:  #这里判断取出来的排序方式是否在列表里 如果不在直接退出程序并提示
 7     print(请输入正确的排序‘‘ASCE‘‘或者‘‘DESC)
 8     exit()    
 9 #第一种if判断方法:
10 if sort == ASCE:
11     num_list = num.split(,) #把数字字符串拆分字符串列表
12     index = 0 
13     for var in num_list:#单个取出字符串列表里的字符串
14         num_list[index] = ‘‘.join(sorted(num_list[index],reverse=False))
15         #单独取出来的字符串进行sorted排序后输出为字符串列表,reverse=False是否颠倒,然后再合并在一起
16         index += 1
17     else:    
18         num_list.sort() #进行字符串列表排序
19 if sort == DESC:
20     num_list = num.split(,) #把数字字符串拆分字符串列表
21     index = 0 
22     for var in num_list:#单个取出字符串列表里的字符串
23         num_list[index] = ‘‘.join(sorted(num_list[index],reverse=True))
24         index += 1
25     else:    
26         num_list.sort(),num_list.reverse()    #进行字符串列表排序,然后颠倒    
27 print(>>>排序结果为:,,.join(num_list))        #以逗号合并输出字符串
28 ‘‘‘
29 #第二种运用集合优化简短:
30 sort_dict = {‘ASCE‘:False,‘DESC‘:True}
31 reverse = sort_dict[sort]
32 num_list = num.split(‘,‘) #把数字字符串拆分字符串列表
33 index = 0 
34 for var in num_list:#单个取出字符串列表里的字符串
35     num_list[index] = ‘‘.join(sorted(num_list[index],reverse=reverse))
36     index += 1
37 else:    
38     num_list.sort(reverse=reverse)        
39 print(‘>>>排序结果为:‘,‘,‘.join(num_list))        #以逗号合并输出字符串
40 ‘‘‘

 

















以上是关于16.数字大小升降排序编写的主要内容,如果未能解决你的问题,请参考以下文章

小5聊简单的算法进行升降序排序(递归算法)

编写一条正则,用来验证此规则:一个6~16位的字符串,必须同时包含有大小写字母和数字

JavaScript数字数组怎么按数字大小排序?

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段

点击表头切换升降序排序方式

js密码正则表达式:要求包含大小写字母、数字和特殊符号,8~16位