Python Day10 函数练习题

news/2024/11/15 5:27:26/

Day10 函数

  1. 编写一个函数,交换指定字典的key和value。
例如:dict1={'a':1, 'b':2, 'c':3}  -->  dict1={1:'a', 2:'b', 3:'c'}  
def exchange_kv(dict1):new_dict1 = {}for key in dict1:value = dict1[key]new_dict1[value] = keyprint(new_dict1)exchange_kv({'name': 'KathAmy'})

{‘KathAmy’: ‘name’}

  1. 编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串
例如: 传入'12a&bc12d-+'   -->  'abcd'  
def letter_str(str1):str2 = ''for i in str1:if i.isupper() or i.islower():str2 += iprint(str2)letter_str('cdw15%$%^&huhkdjHIJHVGu')

cdwhuhkdjHIJHVGu

  1. 写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母
例如: 'abc' -> 'Abc'   '12asd'  --> '12asd'
def capitalize1(str1: str):first_char = str1[0]if first_char.islower():return first_char.upper() + str1[1:]else:return str1print(capitalize1('kathAmy'))

KathAmy

  1. 写一个自己的endswith函数,判断一个字符串是否以指定的字符串结束
例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True字符串1:'abc231ab1' 字符串2:'ab1' 函数结果为: False
def endwith_ab(str1: str, end: str):n = len(end)return str1[-n:] == endprint(endwith_ab('sjxab', 'ab'))

True

  1. 写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串
例如: '1234921'  结果: True'23函数'   结果: False'a2390'    结果: False
def isdigit_str(str1):for i in str1:if not '0' <= i <= '9':return Falsereturn Trueisdigit_str('1234')

True

def isdigit_str(str1):for i in str1:if not '0' <= i <= '9':return Falsereturn Trueisdigit_str('abc函数1234')

False

  1. 写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母
例如: 'abH23好rp1'   结果: 'ABH23好RP1'   
def upper_str(str1):new_str1 = ''for i in str1:if 'a' <= i <= 'z':new_str1 += chr(ord(i) - 32)if not ('a' <= i <= 'z'):new_str1 += ireturn new_str1print(upper_str('xhsjAJhj7'))

XHSJAJHJ7

  1. 写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充
例如: 原字符:'abc'  宽度: 7  字符:'^'    结果: '^^^^abc'原字符:'你好吗'  宽度: 5  字符:'0'    结果: '00你好吗'
def rjust(str1:str, length, fill_char: str):len1 = len(str1)if len1 > length:return str1return fill_char * (length - len1) + str1print(rjust('123', 8, '*'))

*****123

  1. 写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1
例如: 列表: [1, 2, 45, 'abc', 1, '你好', 1, 0]  元素: 1   结果: 0,4,6  列表: ['赵云', '郭嘉', '诸葛亮', '孙膑', '赵云', '孙权']  元素: '赵云'   结果: 0,4列表: ['赵云', '郭嘉', '诸葛亮', '孙膑', '赵云', '孙权']  元素: '关羽'   结果: -1         
def list_index(list1, item):result = []for x, y in enumerate(list1):if y == item:result.append(x)if result:return ','.join([str(i) for i in result])return -1list_index(['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权'], '赵云')

0,4

def list_index(list1, item):result = []for x, y in enumerate(list1):if y == item:result.append(x)if result:return ','.join([str(i) for i in result])return -1list_index(['赵2云', '郭嘉', '诸葛亮', '曹操', '赵2云', '孙权'], '赵云')

-1

  1. 写一个自己的len函数,统计指定序列中元素的个数
例如: 序列:[1, 3, 5, 6]    结果: 4序列:(1, 34, 'a', 45, 'bbb')  结果: 5  序列:'hello w'    结果: 7
def list_len(list1):count = 0for i in list1:count += 1print(count)list_len([1, 34, 'a', 45, 'bbb'])

5

  1. 写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值
例如: 序列:[-7, -12, -1, -9]    结果: -1   序列:'abcdpzasdz'    结果: 'z'  序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98}   结果: 98
def max_list(list1):if type(list1) == dict:seq = list(list1.values())# list1 = seq   运行字典需要此行代码(细心网友发现的嘿嘿)max1 = list1[0]for x in list1[1:]:if x > max1:max1 = xprint(max1)max_list('abcdpzasdz')

z

  1. 写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在
例如: 序列: (12, 90, 'abc')   元素: '90'     结果: False序列: [12, 90, 'abc']   元素: 90     结果: True     
def in_list(str1, item):for i in str1:if i == item:return Truereturn Falseprint(in_list([12, 90, 'abc'], 90))

True

  1. 写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串
例如: 原字符串: 'how are you? and you?'   旧字符串: 'you'  新字符串:'me'  结果: 'how are me? and me?'
def replace1(str1: str, old: str, new: str):return new.join(str1.split(old))str1 = 'how are you? and you?'
print(replace1(str1, 'you', 'me'))

how are me? and me?


http://www.ppmy.cn/news/155336.html

相关文章

redis sentinel集群安装命令及问题处理

参考官网&#xff1a;redis from source 测试机器&#xff08;sentineredis) redis server端口&#xff1a;6380 密码&#xff1a;********* 10.10.10.3 &#xff08;master&#xff09; 10.10.10.2 (slave) 10.10.10.1 (slave) sentinel端口&#xff1a;26380 sentine…

别看它便宜,技嘉H55M-S2照样流畅跑《星际II》

别看它便宜&#xff0c;技嘉H55M-S2照样流畅跑《星际II》 这两天刚刚帮表弟装了一台电脑&#xff0c;准备拿学校去用&#xff0c;由于资金限制&#xff0c;主要配置就是Core i3-530处理器加上599元的技嘉GA-H55M-S2主板&#xff0c;没配独立显卡。装完后表弟居然问我能玩《星际…

【小月电子】ALTERA FPGA开发板系统学习教程-LESSON7串口通信

串口通信例程讲解 若要观看该博客配套的视频教程&#xff0c;可点击此链接 开发板实物图 图1.FPGA设计流程 根据多年工作经验&#xff0c;总结出的FPGA的设计流程&#xff0c;概括起来总共有以上12步&#xff0c;其中根据项目难易度可省去其中一些步骤。比如非常简单的项目&…

英特尔 12 代酷睿 H55 处理器曝光:16 核 24 线程,达到桌面 i9 规格

IT之家 2 月 26 日消息&#xff0c;据爆料者消息&#xff0c;英特尔可能会推出 Alder Lake-HX 系列处理器&#xff0c;比已经发布的 Alder Lake-H 处理器规格更高&#xff0c;达到 16 核 24 线程&#xff0c;这也是当前桌面 12 代 i9 的规格。 两名靠谱消息人士称&#xff0c;这…

Linux版百度网盘丨直接在服务器SSH命令行中使用百度云,轻松解决数据传输和分享难题

Linux版 百度网盘 本文主要的目的就是在Linux环境下通过命令行来使用百度云盘&#xff01;直接在服务器上将数据&#xff08;比如基因组等大文件&#xff09;传输到百度网盘&#xff0c;之后可以进行轻松分享&#xff0c;而且还可以支持备份&#xff0c;解决文件的传输和分享难…

rtx3080ti参数 rtx3080ti什么水平 rtx3080ti评测

RTX3080Ti的规格和RTX3090已经非常接近了&#xff0c;主要区别就在于最影响性能的核心数量上&#xff0c;RTX3090内置10496个CUDA核心&#xff0c;RTX3080Ti则内置了10240个&#xff0c;少了256个CUDA核心。 rtx3080ti怎么样这些点很重要 http://www.adiannao.cn/dq 此外显存方…

笔记本独立显卡geforce gtx 1050ti 388.71版本驱动

据说388.71版本的驱动是比较适合gtx 1050ti的&#xff0c;但由于这款驱动是2017年12月发布&#xff0c;在官网基本是找不到了。为了方便那些升级了新驱动而想降级的小伙伴&#xff0c;我在网上找到了该版本的驱动&#xff0c;在此提供给大家下载。 注意&#xff1a;此版本是移…

炼丹志 | 2021显卡挑选指南

点击上方“机器学习与生成对抗网络”&#xff0c;关注星标获取有趣、好玩的前沿干货&#xff01; 作者丨狐小妖DIY装机知乎 编辑丨极市平台 来源丨https://zhuanlan.zhihu.com/p/365926059 2021年5月26号已更新&#xff0c;今天出现了4399的2060&#xff0c;4799的2060S&#…