-
写一个函数,实现maketrans的功能,将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值
第一个字符串: ‘abcmn’ 第二个字符串:‘一二三四五’
结果:{‘a’: ‘一’, ‘b’: ‘二’, ‘c’: ‘三’, ‘m’: ‘四’, ‘n’: ‘五’}
def zwb_dict(str1: str, str2: str): """ 将两个字符串转换成一个字典,第一个字符串中的字符是键,第二个字符串中的字符是值 :param str1: :param str2: :return: """ lenght = len(str1) dict_total = {str1[index]: str2[index] for index in range(lenght)} print(dict_total) print(zwb_dict('abcmn', '一二三四五'))
-
写一个属于自己的join函数,可以将任意序列中的元素以指定的字符串连接成一个新的字符串
序列: [10, 20, 30, ‘abc’] 字符串: ‘+’ 结果:‘10+20+30+abc’
序列: ‘abc’ 字符串: ‘–’ 结果:‘a–b--c’
注意:序列中的元素可以不是字符串哟
def zwb_str(nums1, str1: str): """ 将任意序列中的元素以指定的字符串连接成一个新的字符串 :param nums1: :param str1: :return: """ total1 = '' for i in nums1: total1 += i total1 += str1 print(total1) zwb_str(('10', '20', '30', 'abc'), '+')
-
写一个输入自己的upper函数,判断指定字符串是否是纯大写字母字符串
‘AMNDS’ -> True
‘amsKS’ -> False
‘123asd’ -> False
def zwb_upper(str1: str): for i in str1: if not ('A' <= i <= 'Z'): print(False) break else: print(True) zwb_upper('SGSDFH')
-
写一个clear函数,清空指定列表。
注意:功能是将原列表清空,不产生新的列表
def zwb_clear(list1: list): """ 清空列表 :param list1: :return: """ for i in range(len(list1)-1, -1, -1): if list1[i] in list1: list1.remove(list1[i]) print(list1) zwb_clear([34, 12, 1, 13])
-
写一个reverse函数,将列表中的元素逆序
两种方法:1.产生一个新的列表 2.不产生新的列表,直接修改原列表元素的顺序
def zwb_list1(list1: list): total1 = [] for i in range(len(list1) - 1, -1, -1): total1.append(eval(list1[i])) print(total1) zwb_list1(list(input('请输入一个列表:')))
-
写一个replace函数,将字符串中指定的子串替换成新的子串
原字符串: ‘abc123abc哈哈哈uui123’ 旧子串: ‘123’ 新子串: ‘AB’
结果: ‘abcABabc哈哈哈uuiAB’
-
写一个函数,可以获取任意整数的十位数
123 -> 2
82339 -> 3
9 -> 0
-234 -> 3
def shi_int(nums: int): """ 求十位数的数 :param nums: :return: """ total = nums // 10 % 10 print(total) shi_int(1234)
-
写一个函数实现数学集合运算符 & 的功能,求两个集合的公共部分:
集合1: {1, 2, 3} 集合2: {6, 7, 3, 9, 1}
结果:{1, 3}
def zwb_set(set1: set, set2: set): set3 = set() for i in set1: if i in set2: set3.add(i) print(set3) zwb_set({1, 2, 3}, {6, 7, 3, 9, 1})
-
写一个函数实现属于自己的字典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 merge_dict(dict1: dict, dict2: dict): """ 将一个字典中的键值对全部添加到另外一个字典中 :param dict1: :param dict2: :return: """ tuple_dict = dict2.items() for key, values in tuple_dict: dict1[key] = values print(dict1) merge_dict({'a': 10, 'b': 20}, {'name': '张三', 'age': 18})
-
写一个函数判断指定数是否是水仙花数
12321 -> True
2332 -> True
9876789 -> True
1232 -> False
def zwb_times(nums): total1 = '' for i in range(len(nums) - 1, -1, -1): total1 += nums[i] if total1 == nums: print(True) else: print(False) zwb_times(input('请输入一个正整数:'))
-
写一个函数判断指定数是否是完数(比较难)
完数:各个真因数的和等于这个数本身
例如: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 zwb_number(total): """ 判断这个数是不是完数 :param total: :return: """ nums = 0 for i in range(1, total): if total % i == 0: nums += i if nums == total: print(total, '是完数') else: print(total, '不是完数') zwb_number(int(input('请输入一个整数:')))
day11-函数基础作业
最新推荐文章于 2024-07-20 17:12:48 发布