day10-字符串作业2
-
编写一个程序,交换指定字典的key和value。
例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'}
dict1={'a': 1, 'b': 2, 'c': 3} dict2 = {} for key in dict1: new_key = dict1[key] new_vaule = key dict2[new_key] = new_vaule print(dict2) # {1: 'a', 2: 'b', 3: 'c'}
-
编写一个程序,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
例如: 传入'12a&bc12d-+' --> 'abcd'
str1 = '12a&bc12d-+' str2 = '' for x in str1: if 'a' <= x <= 'z' or 'A' <= x <= 'Z': str2 += x print(str2) # abcd
-
写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
例如: 'abc' -> 'Abc' '12asd' --> '12asd'
str1 = '12asd' str2 = '' for x in str1: if 'a' <= x <= 'z': m = chr(ord(x) - 32) str2 = str1.replace(x, m) break print(str2)
-
写程序实现endswith的功能,判断一个字符串是否已指定的字符串结束
例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True 字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False
str1 = 'abc231ab' str2 = '1ab' l2 = len(str2) if str2 in str1: if str1[-l2:] == str2: print('True') else: print('False')
-
写程序实现isdigit的功能,判断一个字符串是否是纯数字字符串
例如: '1234921' 结果: True '23函数' 结果: False 'a2390' 结果: False
str1 = input('输入:') for x in str1: if not ('0' <= x <= '9'): print('False') break else: print('True')
-
写程序实现upper的功能,将一个字符串中所有的小写字母变成大写字母
例如: 'abH23好rp1' 结果: 'ABH23好RP1'
str1 = 'abH23好rp1' str2 = '' for x in str1: if 'a' <= x <= 'z': str2 += chr(ord(x) - 32) else: str2 += x print(str2) # ABH23好RP1
-
写程序获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
例如: 序列:[-7, -12, -1, -9] 结果: -1 序列:'abcdpzasdz' 结果: 'z' 序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98} 结果: 98
# xl1 = [-7, -12, -1, -9] # xl1 = 'abcdpzasdz' xl1 = {'小明': 90, '张三': 76, '路飞': 30, '小花': 98} list1 = [] if type(xl1) == dict: for x in xl1: list1.append(xl1[x]) list1.sort() print('最大值:', list1[-1]) else: max1 = xl1[0] for x in xl1: if x > max1: max1 = x print('最大值:', max1)
-
写程序实现replace函数的功能,将指定字符串中指定的旧字符串转换成指定的新字符串
例如: 原字符串: 'how are you? and you?' 旧字符串: 'you' 新字符串:'me' 结果: 'how are me? and me?'
msg = 'how are you? and you?' old_str = 'you' new_str = 'me' new_msg = '' index = 0 while True: if msg[index:index+3] == old_str: new_msg += new_str index += 3 else: new_msg += msg[index] index += 1 if index == len(msg): break print(new_msg)
-
写程序实现split的功能,将字符串中指定子串作为切割点对字符串进行切割
例如:原字符串: 'how are you? and you?' 切割点: 'you' 结果: ['how are ', '? and ', '?']
msg = 'how are you? and you?' str1 = 'you' str2 = '' list1 = [] index = 0 you_index = 0 count1 = msg.count(str1) count2 = 0 while True: if msg[index:index+3] == str1: list1.append(msg[you_index:index]) you_index = index + 3 index += 3 count2 += 1 else: index += 1 if count1 == count2: list1.append(msg[index:]) break print(list1)
-
用思维导图(xmind)总结四大容器:列表、字典、元组、集合