161.函数main()接收一个任意字符串s·要求把其中的字符’P'替换为字符’!',把字符'y'替换为字符'@'·把字符't'替换为字符·#',把字符'h'替换为字符'$',把字符'。'替换为字符'%',把字符'n'替换为字符'^',并删除字符串s中的字符'a’、'b'、'c'和'd',其他字符保持不变,返回处理后的新字符串。例如,main('PHP is a good language')返回'!H!is g%%guge'删除下面代码中的pass语句,完成要求的功能。
def main(s):return s.replace('P','!').replace('y', '@').replace('t', '#').replace('h','$').replace('o', '%').replace('n','^').replace('a','').replace('b','').replace('c','').replace('d','')
162.函数main()接收一个中文字符串s,要求使用扩展库jieba对字符串s进行分词,把长度为4的词语翻转,其他词语保持不变,然后把所有处理后的词语按原来的相对顺序连接起来,返回得到的新字符串。例如,main('小明工作一向是兢兢业业、任劳任怨。')返回'小明工作一向是业业兢兢、怨任劳任。' 服务器已安装扩展库iieba。删除下面代码中的pass语句,完成要求的功能。
import jieba# 不输出日志
jieba.setLogLevel(20)def main(s):words = jieba.lcut(s)ret =[]for i in words:if len(i)==4:ret.append(i[::-1])else:ret.append(i)return ''.join(ret)
163.已知,Python内置列表类1ist支持整数作下标访问列表对象指定位置上的元素,如果指定的下标不存在就抛出异常提示IndexError:list index out of range。在下面的代码中,以Python内置列表类list为基类,设计派生类MyList,重新实现下标运算。要求:下标运算的形式与列表一样,当指定的下标存在时与列表具有同样的表现和功能,当指定的下标不存在时返回空值None,不抛出异常。函数main()接收一个可选代对象data和一个整数index,把data转换为MyList类的对象,然后尝试返回其中下标index的元素。例如,main('abcde',3)返回'd',main('abcde', 8)返回None。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
class MyList(list):def __getitem__(self, index):if 0 <= index < len(self):return super().__getitem__(index)else:return None# 不要修改下面的代码
def main(data, index):my_list = MyList(data)return my_list[index]
164.函数main()接收一个表示x1sx格式Excel文件名的字符串参数workbook name和一个表示工作表名的字符串参数worksheet name,要求返回工作薄workbook name中工作表worksheet name的实际数据行数和列数组成的元组。例如,data164.xlsx文件中工作表'a'有11行7列,main('data164.xlsx','a')返回(11,7)。服务器已安装扩展库openpyx1,版本号为1.4.1。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
import openpyxldef main(workbook_name, worksheet_name):workbook = openpyxl.load_workbook(workbook_name)worksheet = workbook[worksheet_name]rows = worksheet.max_rowcolumns = worksheet.max_columnreturn rows, columns
165.函数main()接收一个字符串s"s的内容是空格分隔的3个实数,分别表示一个三角形的两个边长和它们的夹角(单位是度),要求计算并返回该三角形第三边边长,保留一位小数。如果参数s不符合要求,返回字符串"数据不合法。’。例如,main('3 4 90')返回5.0'main('3')返回'数据不合法。’ 删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。已导入的对象不是必须使用的,是否使用可以自己决定。
from math import cos, radiansdef main(s):ls = s.split()if len(ls)!=3:return '数据不合法。'try:ls = list(map(float, ls))except:return '数据不合法。'if ls[2]>=180:return '数据不合法。'return round(pow((ls[0]**2+ls[1]**2-2*ls[0]*ls[1]*cos(radians(ls[2]))),0.5),1)
166.函数main()接收一个包含有限数量个元素的可选代对象iterable,要求返回一个元组,元组中每个元素是包含iterable中每个元素下标和值的元组,并且下标从1开始。例如,main('Python')返回((1,'P'),(2,'y'),(3,'t'),(4,'h'),(5,'o'),(6,'n'))。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(iterable):return tuple(enumerate(iterable,start=1))
167.函数main()接收3个参数,其中参数iterable要求必须为只包含整数或实数的可迭代对象,否则返回字符串"参数iterable必须是只包含整数或实数的可迭代对象。'。参数operator必须为'+'、'、'*'、"/'、"//'、'**'这几个运算符字符串之一,否则返回字符串"不识别的运算符。"。参数num必须是整数或实数,否则返回字符串"参数num必须是整数或实数。’。如果3个参数都符合要求,返回iterable中每个数字都与num进行operator运算之后的结果所组成的元组。例如,main(range(5),'+',3)返回(3,4,5,6,7)·main(range(5), '*', 3)返回(0,3,6,9,12)删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(iterable, operator, num):if set(map(type, iterable))|{float, int}!={float, int}:return '参数iterable必须是只包含整数或实数的可迭代对象。'if type(num) not in (float ,int):return '参数num必须是整数或实数。'if operator not in ['+','-','*','/','//','**']:return '不识别的运算符。'if operator=='+':return tuple(map(lambda x:x+num, iterable))if operator=='-':return tuple(map(lambda x:x-num, iterable))if operator=='*':return tuple(map(lambda x:x*num, iterable))if operator=='/':return tuple(map(lambda x:x/num, iterable))if operator=='//':return tuple(map(lambda x:x//num, iterable))if operator=='**':return tuple(map(lambda x:x**num, iterable))
168.函数main()接收两个字符串参数text和characters,要求统计并返回characters中每个不重复字符在text中出现次数之和。例如,main('abcdeaaaab','aae')返回6·因为'a出现了5次,'e'出现了1次,此处参数'aae·与'ae'等价,不重复统计'a'的出现次数。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(text, characters):ch = set(list(characters))return sum(map(lambda x:int(x in ch), text))
169.函数main()接收一个自然数num,要求返回num各位数字中最大的整数。例如,main(1234)返回4,main(9872346)返回9。删除下面代码中pass语句,替换为自己的代码,完成要求的功能。
def main(num):return max(map(int, list(str(num))))
170.函数main()接收两个列表参数x和y,表示相同维度空间里的两个向量,要求计算这两个向量的曼哈顿距离,也就是各分量之差的绝对值之和。例如·main([1,2,3,4],[4,3,2,1])返回8,计算过程为|1-4|+|2-3|+|3-2|+|4-1|=3+1+1+3=8。删除下面代码中的pass语句,替换为自己的代码,完成要求的功能。
def main(x, y):return sum(map(lambda a,b:abs(a-b), x, y))