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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM