1 # 1.鍵盤錄入的字符串(假設字符串中只包含小寫字母和空格)進行加密操作, 2 # 加密的規則是a變d,b變e,c變f,⋯⋯,x變a,y變b,z變c,空格不變,返回加密后的字符串 3 # 97 98 99 100 x = 120(97) y = 121(98) z = 122(99) 4 5 c_in = input("輸入一個字母串:") 6 mi_c = '' 7 for c in c_in: 8 if 97 <= ord(c) < 120: 9 mi_c += chr(ord(c)+3) 10 elif 120 <= ord(c) <= 122: 11 mi_c += chr(ord(c)-23) 12 else: 13 mi_c += ' ' 14 print("加密后:",mi_c) 15 16 # 2.鍵盤錄入指定長度生成對應的驗證碼(由數字和大小寫英文字母構成的隨機字符串)。 17 #方法一 18 import random 19 yzm = int(input('輸入驗證碼位數:')) 20 zimu = random.randint(1,yzm) 21 daxie = random.randint(1,zimu) 22 xxie = zimu - daxie 23 shuzi = yzm - zimu 24 str_1 = random.sample(range(0,10),shuzi) #生成數字 25 str_2 = random.sample(range(97,123),xxie) #生成小寫字母 26 str_3 = random.sample(range(65,91),daxie) #生成大寫字母 27 str_4 = str_2 + str_3 28 str_5 = [] 29 for inn in str_4: 30 str_5.append(chr(inn)) 31 str_6 = str_1 + str_5 32 for inn in str_6: 33 print(inn,end='') 34 35 #方法二 36 import random 37 yzmlen = int(input('輸入驗證碼位數:')) 38 sz = list(range(0, 10)) 39 zm = [] 40 zmb = list(range(97, 123)) + list(range(65, 91)) 41 for inn in zmb: 42 zm.append(chr(inn)) 43 mlist = sz + zm 44 yzm = random.sample(mlist, yzmlen) 45 for inn in yzm: 46 print(inn,end='') 47 48 49 50 # 3.自定義一個列表,最大的與第一個元素交換,最小的與最后一個元素交換,輸出列表 51 # 52 lis = [12, 34, 56, 78, 99, 43, 1, 33, 75] 53 max_i = 0 54 min_i = -1 55 for inn in range(1, len(lis)-1): 56 if lis[max_i] < lis[inn]: 57 lis[max_i], lis[inn] = lis[inn], lis[max_i] 58 if lis[min_i] > lis[inn]: 59 lis[min_i], lis[inn] = lis[inn], lis[min_i] 60 print(lis) 61 62 63 #4.自定義一個數字列表,求列表中第二大數的下標 64 65 list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] 66 max_index = 0 67 sec_index = 0 68 for index in range(1,len(list1)-1): 69 if list1[index] > list1[max_index]: 70 max_index = index 71 for index in range(1,len(list1)-1): 72 if max_index != index: 73 if list1[index] > list1[sec_index]: 74 sec_index = index 75 else: 76 continue 77 print("列表",list1,"\n其中第二大的元素%d 索引是 %d"%(list1[sec_index],sec_index)) 78 # # 79 # 5.已知有字符串"I wish you prosperity and a better tomorrow I hope you can do better self-improvement efforts” 80 # a. 獲取每個字符出現的次數 81 # b. 獲取出現次數最少的字符 82 # c. 獲取字符串中的每個字符 存放於列表中 但是列表中不允許有重復的字符, 並對列表進行降序排序 83 # 84 str1 = 'I wish you prosperity and a better tomorrow I hope you can do better self-improvement efforts' 85 ch_dic = {} 86 lis = [] 87 for ch in str1: 88 if ch not in ch_dic: 89 ch_dic[ch] = 1 90 else: 91 ch_dic[ch] += 1 92 if ch not in lis: 93 lis.append(ch) 94 print(ch_dic,lis,sep="\n") 95 96 str_s = None 97 min_ch = min(ch_dic.values()) 98 for k,v in ch_dic.items(): 99 if v == min_ch: 100 str_s = k 101 print("出現最少次數的字符是",str_s) 102 103 lis.sort(reverse=True) 104 print(lis) 105 106 # 6.提取字符串中的數字 進而求和 107 # "i13love14you520" ----> 13 + 14 + 520 = 547 108 109 str = 'i13love14you520' 110 str += 'end' 111 n_sum = 0 112 str1 = '' 113 lis = [] 114 for i in str: 115 if 48 <= ord(i) <= 57: 116 str1 += i 117 else: 118 if str1 != '': 119 lis.append(str1) 120 str1 = '' 121 print(lis) 122 for inn in lis: 123 n_sum += int(inn) 124 print(n_sum )