-
写一个函数,实现maketrans的功能,将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值
第一个字符串: ‘abcmn’ 第二个字符串:‘一二三四五’
结果:{‘a’: ‘一’, ‘b’: ‘二’, ‘c’: ‘三’, ‘m’: ‘四’, ‘n’: ‘五’}
def make(str_key,str_valu): len1 = len(str_key) dict1={str_key[i]:str_valu[i] for i in range(0,len1)} print(dict1) str_key = 'abcmn' str_valu = '一二三四五' make(str_key,str_valu)
-
写一个属于自己的join函数,可以将任意序列中的元素以指定的字符串连接成一个新的字符串
序列: [10, 20, 30, ‘abc’] 字符串: ‘+’ 结果:‘10+20+30+abc’
序列: ‘abc’ 字符串: ‘–’ 结果:‘a–b--c’
注意:序列中的元素可以不是字符串哟
def str2(str3,a): str1 = str3[0] for i in range(1,len(str3)): str1 += a str1+=str3[i] print(str1) str3 = input('输入字符串:') a = input('输入连接字符:') str2(str3,a) ############################################### def new_str1(list1, str2): str4=str(list1[0]) for x in range(1,len(list1)): a = str(list1[x]) str4 += str2 str4+=a print(str4) list1 = [10,20,30,'abc'] str2 = '+' new_str1(list1,str2)
-
写一个输入自己的upper函数,判断指定字符串是否是纯大写字母字符串
‘AMNDS’ -> True
‘amsKS’ -> False
‘123asd’ -> False
def upper1(str1): for i in str1: if not ('A' <=i <='Z'): print('不是纯大写') break else: print('纯大写') str1 = input('请输入字符串:') upper1(str1)
-
写一个clear函数,清空指定列表。
注意:功能是将原列表清空,不产生新的列表
def clear_list(list1): while list1==[]: del list1[0] return list1 list1 = [1, 2, 4, 6, 1, 3, 1, 5] print(clear_list(list1))
-
写一个reverse函数,将列表中的元素逆序
两种方法:1.产生一个新的列表 2.不产生新的列表,直接修改原列表元素的顺序
def new_list(list1): list2 = [] for i in range(-1,-len(list1)-1,-1): list2.append(list1[i]) print(list2) new_list([1,2,3,4,5,6,7,8,9]) ######################################################## def new_list(list1): for i in range(len(list1)): a=list1.pop(-1) list1.insert(i,a) print(list1) new_list([1,2,3,4,5,6,7,8,9])
-
写一个replace函数,将字符串中指定的子串替换成新的子串
原字符串: ‘abc123abc哈哈哈uui123’ 旧子串: ‘123’ 新子串: ‘AB’
结果: ‘abcABabc哈哈哈uuiAB’
def new_str1(str2,str3,str4): d = str() i = 0 while i < len(str2): if str2[i] == str3[0] and str3 == str2[i:i+len(str3)]: d += str4 i += len(str3) else: d += str2[i] i += 1 print(d) str2 = input('输入字符串:') str3= input('目标字符:') str4= input('替换内容:') new_str1(str2,str3,str4)
-
写一个函数,可以获取任意整数的十位数
123 -> 2
82339 -> 3
9 -> 0
-234 -> 3
def shiwei(num1): a = num1//10%10 print(a) shiwei(6614)
-
写一个函数实现数学集合运算符 & 的功能,求两个集合的公共部分:
集合1: {1, 2, 3} 集合2: {6, 7, 3, 9, 1}
结果:{1, 3}
def and1(j1,j2): j3=j1&j2 print(j3) and1({'s',3,1,'g',6,'s',1},{1,2,3,4,5,6})
-
写一个函数实现属于自己的字典update方法的功能,将一个字典中的键值对全部添加到另外一个字典中
字典1: {‘a’: 10, ‘b’: 20} 字典2: {‘name’: ‘张三’, ‘age’: 18} -> 结果让字典1变成: {‘a’: 10, ‘b’: 20, name’: ‘张三’, ‘age’: 18}
字典1: {‘a’: 10, ‘b’: 20} 字典2:{‘a’: 100, ‘c’: 200} -> 结果让字典1变成: {‘a’: 10, ‘b’: 20, ‘c’: 200}
def dict1(dict2:dict,dict3:dict): list1 = list(dict2.keys()) list2 = list(dict2.values()) for i in range(len(list1)): dict3.setdefault(list1[i],list2[i]) print(dict3) dict1({'a': 10, 'b': 20},{'name': '张三', 'age': 18})
-
写一个函数判断指定数是否是回文数
12321 -> True
2332 -> True
9876789 -> True
1232 -> False
def judge(num): for i in range(len(num)//2): if num[i]!=num[-(i+1)]: print('不是回文数') break else: print('是回文数') judge('1234321')
-
写一个函数判断指定数是否是完数(比较难)
完数:各个真因数的和等于这个数本身
例如:6是完数,6的真因子为1、2、3,1+2+3等于6,所以6是完数
28是完数,28的真因子:1、2、4、7、14,1+2+4+7+14等于28,所以28是完数
12不是完数:12的真因子:1、2、3、4、6,1+2+3+4+6不等于12