输入:多组字符串
要求:
代码如下:
# coding=utf-8
import sys
def re_sort(string):
"""
function:将输入的字符串中对应位的字母按照字母表对应排序,对应的数字按照小到大排序
:param string: 包含字母和仅有小写字母的字符串
:return:排序好的字符串
"""
list_str = list(string)
alphabet = []
digit = []
for t in list_str:
if t.isdigit():
digit.append(int(t))
else:
alphabet.append(t)
# 分别将字母和数字排好序
alphabet = sorted(alphabet)
digit = sorted(digit)
new_list_str = []
# for i in range(length(listStr)):
for i in list_str:
if i.isdigit():
new_list_str.append(str(digit.pop(0)))
else:
new_list_str.append(str(alphabet.pop(0)))
new_string = "".join(new_list_str)
return new_string
def get_data():
"""从命令行获取输入的数据"""
# 读取输入的总个数
print("请输入需要输入的字符串个数:")
num = int(sys.stdin.readline().strip())
# str_length = []
strings_input = []
for i in range(num):
# print("请输入第{}字符串长度:".format(i+1))
# length = int(sys.stdin.readline().strip())
# strLength.append(length)
print("请输入第{}个字符串:".format(i+1))
single_string = sys.stdin.readline().strip() # 每次交互时读取数据,默认是字符串,如输入 整数 5,读入的时候 默认是 字符串"5"
strings_input.append(single_string)
return strings_input
if __name__ == "__main__":
arr = get_data()
sorted_arr = []
for t in arr:
sorted_arr.append(re_sort(t))
print("排序后的数字是:")
for s in sorted_arr:
print(s)