-
编写一个程序,交换指定字典的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 x, y in dict1.items(): dict2.setdefault(y, x) print(dict2)
-
编写一个程序,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
例如: 传入'12a&bc12d-+' --> 'abcd'
m = input('请输入一个字符串:') m_new = '' for i in m: if 'a' <= i <= 'z' or 'A' <= i <= 'Z': m_new += i print(m_new) 输出: 请输入一个字符串:dadIOHAFOH5456+-ihaf dadIOHAFOHihaf
-
写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
例如: 'abc' -> 'Abc' '12asd' --> '12asd'
def capitalize(str1): str2 = '' if 'a' <= str1[0] <= 'z': str2 = str1[0].upper() + str1[1:] else: str2 = str1 return str2 s1 = input('请输入一个字符串:') print(capitalize(s1)) 输出: 请输入一个字符串:abckhklf Abckhklf 请输入一个字符串:+-564dfhaf +-564dfhaf
-
写程序实现endswith的功能,判断一个字符串是否已指定的字符串结束
例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True 字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: False
def endswith1(str1, str2): len1 = len(str2) if str1[-len1:] == str2: return True else: return False s1 = input('请输入一个字符串:') s2 = input('请输入一个字符串:') print(endswith1(s1, s2)) 输出: 请输入一个字符串:abcdefg 请输入一个字符串:123 False 请输入一个字符串:abcdefg 请输入一个字符串:efg True 请输入一个字符串:g 请输入一个字符串:abcdefg True
-
写程序实现isdigit的功能,判断一个字符串是否是纯数字字符串
例如: '1234921' 结果: True '23函数' 结果: False 'a2390' 结果: False
# 方法1 def isdigit1(str1): count = 0 for i in str1: if '0' <= i <= '9': count += 1 if count == len(str1): return True else: return False # 方法2 def isdigit2(str1): count = 0 for i in str1: if not ('0' <= i <= '9'): return False break else: return True s1 = input('请输入一个字符串:') print(isdigit1(s1)) print(isdigit2(s1)) 输出: 请输入一个字符串:5456adsadasd False False 请输入一个字符串:545645645 True True
-
写程序实现upper的功能,将一个字符串中所有的小写字母变成大写字母
例如: 'abH23好rp1' 结果: 'ABH23好RP1'
def upper1(str1): str2 = '' for i in str1: if 'a' <= i <= 'z': str2 += chr(ord(i) - 32) else: str2 += i return str2 s1 = input('请输入一个字符串:') print(upper1(s1)) 输出: 请输入一个字符串:123456789zbcdefABCDEF憨憨 123456789ZBCDEFABCDEF憨憨
-
写程序获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
例如: 序列:[-7, -12, -1, -9] 结果: -1 序列:'abcdpzasdz' 结果: 'z' 序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98} 结果: 98
def findmax(a): max_a = 0 if type(a) == dict: for x, i in a.items(): if i > max_a: max_a = i else: max_a = a[0] for i in a: if i > max_a: max_a = i return max_a # a1 = [-7, -12, -1, -9] # a1 = 'abcdpzasdz' a1 = {'小明': 90, '张三': 76, '路飞': 30, '小花': 98} print('序列中元素的最大值是:', findmax(a1)) 输出: 序列中元素的最大值是: -1 序列中元素的最大值是: z 序列中元素的最大值是: 98
-
写程序实现replace函数的功能,将指定字符串中指定的旧字符串转换成指定的新字符串
例如: 原字符串: 'how are you? and you?' 旧字符串: 'you' 新字符串:'me' 结果: 'how are me? and me?'
def replace1(a1, a2, a3): a4 = '' l1 = [] l2 = [] i1 = 1 len1 = len(a2) for i in range(len(a1) - len1): if a1[i: i + len1] == a2: l1.append(i) for j in range(len(l1)): while i1 < 2: l2.append(a1[0:int(l1[0])]) i1 += 1 else: if j == len(l1) - 1: l2.append(a1[int(l1[j] + len(a2)):]) else: l2.append(a1[int(l1[j] + len(a2)):int(l1[j + 1])]) for y, z in enumerate(l2): if y == len(l2) - 1: a4 += z else: a4 += z + a3 return a4 b1 = 'how are you? and you?' b2 = 'you' b3 = 'me' print(replace1(b1, b2, b3)) b1 = '憨批是你,你是憨批,憨批就是憨批!' b2 = '憨批' b3 = '我' print(replace1(b1, b2, b3)) 输出: how are me? and me? 我是你,你是我,我就是我!
-
写程序实现split的功能,将字符串中指定子串作为切割点对字符串进行切割
例如:原字符串: 'how are you? and you?' 切割点: 'you' 结果: ['how are ', '? and ', '?']
def split1(a1, a2): l1 = [] l2 = [] i1 = 1 len1 = len(a2) for i in range(len(a1) - len1): if a1[i: i + len1] == a2: l1.append(i) for j in range(len(l1)): while i1 < 2: l2.append(a1[0:int(l1[0])]) i1 += 1 else: if j == len(l1) - 1: l2.append(a1[int(l1[j] + len(a2)):]) else: l2.append(a1[int(l1[j] + len(a2)):int(l1[j + 1])]) return l2 b1 = '憨批是你,你是憨批,憨批就是憨批!' b2 = '憨批' print(split1(b1, b2)) 输出: ['how are ', '? and ', '?'] ['', '是你,你是', ',', '就是', '!']
-
用思维导图(xmind)总结四大容器:列表、字典、元组、集合
day10-字符串作业
最新推荐文章于 2023-01-17 17:52:54 发布