-
写一个函数,实现maketrans的功能,将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值
第一个字符串: ‘abcmn’ 第二个字符串:‘一二三四五’
结果:{‘a’: ‘一’, ‘b’: ‘二’, ‘c’: ‘三’, ‘m’: ‘四’, ‘n’: ‘五’}
def str_1(str1: str, str2: str): dict1 = {} for i in range(len(str1)): dict1[str1[i]] = str2[i] return dict1 dict1 = str_1('abcmn', '一二三四五') print(dict1)
-
写一个属于自己的join函数,可以将任意序列中的元素以指定的字符串连接成一个新的字符串
序列: [10, 20, 30, ‘abc’] 字符串: ‘+’ 结果:‘10+20+30+abc’
序列: ‘abc’ 字符串: ‘–’ 结果:‘a–b--c’
注意:序列中的元素可以不是字符串哟
def new_join(list1, str1): str2 = '' for i in list1[:-1]: str2 += str(i) + str1 return str2 + list1[-1] list1 = [10, 20, 30, 'abc'] str1 = '+' str3 = new_join(list1, str1) print(str3)
-
写一个输入自己的upper函数,判断指定字符串是否是纯大写字母字符串
‘AMNDS’ -> True
‘amsKS’ -> False
‘123asd’ -> False
def new_upper(str1): for i in str1: if not 'A' <= i <= 'Z': return False else: return True str1 = 'AMNDS' str2 = new_upper(str1) print(str2)
-
写一个clear函数,清空指定列表。
注意:功能是将原列表清空,不产生新的列表
def new_list(list1): for i in list1[0:]: del list1[0] return list1 list1 = [10, 20, 30, 'abc'] list1 = new_list(list1) print(list1)
-
写一个reverse函数,将列表中的元素逆序
两种方法:1.产生一个新的列表 2.不产生新的列表,直接修改原列表元素的顺序
def new_list(list1): list2 = [] for i in list1[::-1]: list2.append(i) return list2 list1 = [10, 20, 30, 'abc'] list1 = new_list(list1) print(list1)
-
写一个replace函数,将字符串中指定的子串替换成新的子串
原字符串: ‘abc123abc哈哈哈uui123’ 旧子串: ‘123’ 新子串: ‘AB’
结果: ‘abcABabc哈哈哈uuiAB’
def new_replace(str1, str2, str3): str4 = str1.split(str2) str5 = str3.join(str4) return str5 str1 ='abc123abc哈哈哈uui123' str2 ='123' str3 ='AB' str = new_replace(str1, str2, str3) print(str)
-
写一个函数,可以获取任意整数的十位数
123 -> 2
82339 -> 3
9 -> 0
-234 -> 3
def num_1(num1): x = num1 // 10 % 10 return x num = num_1(123) print(num)
-
写一个函数实现数学集合运算符 & 的功能,求两个集合的公共部分:
集合1: {1, 2, 3} 集合2: {6, 7, 3, 9, 1}
结果:{1, 3}
def set_1(set1, set2): set3 = set() for i in set1: if i in set2: set3.add(i) return set3 set1 = {1, 2, 3} set2 = {6, 7, 3, 9, 1} s = set_1(set1, set2) print(s)
-
写一个函数实现属于自己的字典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 new_update(dict1, dict2): for key in dict2: dict1.setdefault(key, dict2[key]) return dict1 dict1 = {'a': 10, 'b': 20} dict2 = {'name': '张三', 'age': 18} a = new_update(dict1, dict2) print(a)
-
写一个函数判断指定数是否是水仙花数
12321 -> True
2332 -> True
9876789 -> True
1232 -> False
def new_num(num): n = str(num) if n[:] == n[::-1]: return True else: return False num = 1232 a = new_num(num) print(a)
-
写一个函数判断指定数是否是完数(比较难)
完数:各个真因数的和等于这个数本身
例如: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
def new_num(num): j = 0 for i in range(1, num): if num % i == 0: j += i if j == num: return True else: return False num = 21 print(new_num(num))
相关文章
- 11-12Python基础灬函数补充(作用域,迭代器,生成器)
- 11-12解决forEach函数中异步调用及Promise.all()的基础使用
- 11-12awk基础用法与内置函数小结
- 11-12python基础:自定义函数
- 11-12DELPHI语法基础学习笔记-Windows 句柄、回调函数、函数重载等(Delphi中很少需要直接使用句柄,因为句柄藏在窗体、 位图及其他Delphi 对象的内部)
- 11-12数学基础IV 欧拉函数 Miller Rabin Pollard's rho 欧拉定理 行列式
- 11-12Python基础-全局变量、函数、函数参数、练习day04-2
- 11-12Python基础笔记:函数式编程:高阶函数、返回函数、匿名函数
- 11-12Python基础 --函数的参数
- 11-12函数基础