python_exercise_用函数实现字符串a到z排列,不能用排序的函数,用代码实现

# 方法一: 冒泡函数实现,未使用sort()函数
def sort_str(strself):

list1 = [str(i) for i in strself if 'a'<=i<='z'] # 字符转换为列表,小写字母存放一个列表
list2 = [str(i) for i in strself if 'A'<=i<='Z'] # 字符转换为列表,大写字母存放一个列表

# 小写字母冒泡
for num in range(len(list1)-1):
for num in range(len(list1)-1):
if list1[num] > list1[num+1]:
temp = list1[num]
list1[num] = list1[num+1]
list1[num+1] = temp
# 大写字母冒泡
for num in range(len(list2)-1):
for num in range(len(list2)-1):
if list2[num] > list2[num+1]:
temp = list2[num]
list2[num] = list2[num+1]
list2[num+1] = temp

return ''.join(list2 + list1) # 列表转换为字符串,并将排序后的结果作为返回值

print(sort_str('aAbuioujsaksjdkaJHHDLKAJDLKKJDL'))


# 方法二:借助排序函数sort()
def sort_str_new(str):
list_1 = [] # 存储所有的字母的编码值
for item in str:
list_1.append(ord(item))
list_1.sort() # 倒序排列对应的ASCII编码值,可不必采用冒泡排序的方式

new_str = "" # 存储新的字符串
for item in list_1:
new_str += chr(item) # 根据数字变成对应的字母
print(new_str)
str = "aAbuioujsaksjdkaJHHDLKAJDLKKJDL"
sort_str_new(str)
原文地址:https://www.cnblogs.com/jianjiacangcang/p/10585898.html