当前位置: 首页 > news >正文

董付国老师Python小屋编程题答案161-170

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))
http://www.dtcms.com/a/499539.html

相关文章:

  • 国外营销企业网站什么叫高端网站定制
  • Flutter---生命周期
  • 百度网址大全网站互联网家装
  • 专业的东莞网站排名WordPress多站点开启多语言
  • 微信端网站开发流程做网站什么配置够用
  • c# 泛型的详细介绍
  • OceanBase的SQL和执行计划监控视图
  • 网站原创内容优化wordpress 网站内跳转
  • 龙口市规划建设局网站南京app开发公司排名
  • 解决 Hugging Face 国内下载慢的问题:用 ModelScope 替代加速模型获取
  • 从基础到深入:自然语言处理核心技术全梳理(有 ML/DL 基础)
  • 合肥建设公司网站wordpress 个人电脑
  • 做网站需要哪些方面的支出新媒体运营需要学什么
  • 云手机群控是什么意思
  • 【ecfw】ecfw构建基础
  • 常州二建建设有限公司官方网站聊城做wap网站哪儿好
  • php做网站需要html国外设计公司名字
  • CUDA nvjpeg库编码jpeg图像
  • AI 工作流实战 - 调用豆包api实现批量生图
  • 如何编写您的第一个 Linux 设备驱动程序(一)
  • 做更好的自己 网站客户又找不到你
  • Spring MVC 封装全局统一异常处理
  • 海尔建设网站的内容wordpress设置教程
  • Flutter---EQ均衡器
  • 响应式食品企业网站网站的外链是什么
  • 【Protobuf】proto3语法详解1
  • 网站备案要做家居网站设计
  • VS2022+DirectX9之创建DirectX9设备
  • unordered_map和unordered_set的封装与简单测试
  • (Kotlin协程十六)try/catch 可以捕获子协程的异常吗?为什么?