-
编写一个函数,交换指定字典的key和value。
# 例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'} def exchange(dict1:dict, obj: str, count=0): new_dict = {dict1[x]: x for x in dict1} return new_dict dict1 = {'a': 1, 'b': 2, 'c': 3} print(exchange(dict1, dict))
-
编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
# 例如: 传入'12a&bc12d-+' --> 'abcd' def extract(string: str, obj: str, count=0): str1 = '' for element in string: if 'A' <= element <= 'Z' or 'a' <= element <= 'z': str1 += element return str1 str2 = '12a&bc12d-+' print(extract(str2, str))
-
写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
# 例如: 'abc' -> 'Abc' '12asd' --> '12asd' def capitalize1(string: str, obj: str, count=0): str1 = '' if 'a' <= string[0] <= 'z': str1 = chr(ord(string[0]) - 32) + string[1:] return str1 str2 = 'abc' print(capitalize1(str2, str))
-
写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束
# 例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True 字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False def endswith1(string, subsrting, start, end): count = 0 str1_copy = string[start:end + 1:][-len(subsrting)::] for i in range(len(str1_copy)): if str1_copy[i] != subsrting[i]: break else: count += 1 if count: return True else: return False str1 = 'abcde' str2 = 'abc231ab' print(endswith1(str1, 'cde', 0, len(str1))) # True print(endswith1(str2, 'ab1', 0, len(str2))) # False
-
写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串
# 例如: '1234921' 结果: True # '23函数' 结果: False # 'a2390' 结果: False def isdigit1(string): for element in string: if not ('0' <= element <= '9'): return False else: return True str1 = '1234921' str2 = '23函数' str3 = 'a2390' print(isdigit1(str1)) # True print(isdigit1(str2)) # False print(isdigit1(str3)) # False
-
写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母
# 例如: 'abH23好rp1' 结果: 'ABH23好RP1' def upper1(string:str, obj: str, count=0): str1 = '' for element in string: if 'a' <= element <= 'z': str1 += chr(ord(element) - 32) else: str1 += element return str1 str2 = 'abH23好rp1' print(upper1(str2,str))
-
写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充
# 例如: 原字符:'abc' 宽度: 7 字符:'^' 结果: '^^^^abc' # 原字符:'你好吗' 宽度: 5 字符:'0' 结果: '00你好吗' def rjust1(string, num, char): if len(string) >= num: return string else: str1 = '' str1 += char * (num - len(string)) + string return str1 str2 = 'abc' str3 = '你好吗' print(rjust1(str2, 7, '^')) print(rjust1(str3, 5, '0'))
-
写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1
'''例如: 列表: [1, 2, 45, 'abc', 1, '你好', 1, 0] 元素: 1 结果: 0,4,6 列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'] 元素: '赵云' 结果: 0,4 列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'] 元素: '关羽' 结果: -1 ''' def index1(list1, char): list2 = [] for i in range(len(list1)): if list1[i] == char: list2.append(i) continue if not list2: return -1 else: return list2 list2 = [1, 2, 45, 'abc', 1, '你好', 1, 0] list3 = ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'] list4 = ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'] print(index1(list2, 1)) print(index1(list3, '赵云')) print(index1(list4, '关羽'))
-
写一个自己的len函数,统计指定序列中元素的个数
''' 例如: 序列:[1, 3, 5, 6] 结果: 4 序列:(1, 34, 'a', 45, 'bbb') 结果: 5 序列:'hello w' 结果: 7 ''' def len1(string, obj: str, count=0): sum1 = 0 for x in string: if x != '': sum1 += 1 return sum1 list1 = [1, 3, 5, 6] list2 = (1, 34, 'a', 45, 'bbb') list3 = 'hello w' print(len1(list1, str)) print(len1(list2, str)) print(len1(list3, str))
-
写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
''' 例如: 序列:[-7, -12, -1, -9] 结果: -1 序列:'abcdpzasdz' 结果: 'z' 序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98} 结果: 98 ''' def max1(string): if type(string) == dict: max_score = -1 for x in string: if string[x] > max_score: max_score = string[x] return max_score else: max_score = string[0] for i in range(len(string)): if string[i] > max_score: max_score = string[i] return max_score list1 = [-7, -12, -1, -9] str1 = 'abcdpzasdz' dict1 = {'小明':90, '张三': 76, '路飞':30, '小花': 98} print(max1(list1)) print(max1(str1)) print(max1(dict1))
-
写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在
''' 例如: 序列: (12, 90, 'abc') 元素: '90' 结果: False 序列: [12, 90, 'abc'] 元素: 90 结果: True ''' def in1(list1, char): for element in list1: if element == char: return True else: return False list1 = (12, 90, 'abc') list2 = [12, 90, 'abc'] print(in1(list1, '90')) print(in1(list2,90))
-
写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串
''' 例如: 原字符串: 'how are you? and you?' 旧字符串: 'you' 新字符串:'me' 结果: 'how are me? and me?' ''' def replace1(string, old_string, new_string): str1 = '' x = 0 while x < len(string): if string[x:x+len(old_string)] == old_string: str1 += new_string x += len(old_string) continue else: str1 += string[x] x += 1 return str1 str2 = 'how are you? and you?' print(replace1(str2, 'you', 'me'))
day10-函数作业
最新推荐文章于 2022-06-08 11:14:00 发布