day11-函数作业

news/2025/1/30 23:40:59/
  1. 编写一个函数,交换指定字典的key和value。

      例如:dict1={'a':1, 'b':2, 'c':3}  -->  dict1={1:'a', 2:'b', 3:'c'}  
    
    def exchange_key_value(dict1: dict):for key in dict1:val = dict1.pop(key)dict1.setdefault(val, key)dict1 = {'a': 1, 'b': 2, 'c': 3}
    exchange_key_value(dict1)
    print(dict1)      
    
  2. 编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串

       例如: 传入'12a&bc12d-+'   -->  'abcd'  
    
    def all_char(str1: str):new_str1 = ''for x in str1:if x.isupper() or x.islower():new_str1 += xreturn new_str1str1 = '12a&bc12d-+'
    print(all_char(str1))
    
  3. 写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母

      例如: 'abc' -> 'Abc'   '12asd'  --> '12asd'
    
    def capitalize(str1: str):new_str1 = ''if str1[0].islower():new_str1 = chr(ord(str1[0]) - 32) + str1[1:]else:new_str1 += str1return new_str1str1 = 'abc'
    print(capitalize(str1))
    
  4. 写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束

       例如: 字符串1:'abc231ab' 字符串2:'ab' 函数结果为: True字符串1:'abc231ab' 字符串2:'ab1' 函数结果为: Falsebg
    
    def end_switch(str1: str, str2: str):len2 = len(str2)str1_end = str1[-len2:]if str1_end == str2:return Trueelse:return Falsestr1 = 'abc231ab'
    str2 = 'ab1'
    print(end_switch(str1, str2))
    
  5. 写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串

       例如: '1234921'  结果: True'23函数'   结果: False'a2390'    结果: False
    
    def str_isdigit(str1: str):for x in str1:if not ('0' <= x <= '9'):return Falseelse:return Truestr1 = '1234921'
    print(str_isdigit(str1))
    
  6. 写一个自己的upper函数,将一个字符串中所有的小写字母变成大写字母

        例如: 'abH23好rp1'   结果: 'ABH23好RP1'   
    
    def str_upper(str1: str):new_str1 = ''for x in str1:if 'a' <= x <= 'z':new_str1 += chr(ord(x) - 32)else:new_str1 += xreturn new_str1str1 = 'abH23好rp1'
    print(str_upper(str1))
    
  7. 写一个自己的rjust函数,创建一个字符串的长度是指定长度,原字符串在新字符串中右对齐,剩下的部分用指定的字符填充

       例如: 原字符:'abc'  宽度: 7  字符:'^'    结果: '^^^^abc'原字符:'你好吗'  宽度: 5  字符:'0'    结果: '00你好吗'
    
    def r_just(str1: str, width, char):char_len = width - len(str1)new_str1 = f'{char * char_len}{str1}'return new_str1print(r_just('abc', 7, '^'))
    
  8. 写一个自己的index函数,统计指定列表中指定元素的所有下标,如果列表中没有指定元素返回-1

       例如: 列表: [1, 2, 45, 'abc', 1, '你好', 1, 0]  元素: 1   结果: 0,4,6  列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权']  元素: '赵云'   结果: 0,4列表: ['赵云', '郭嘉', '诸葛亮', '曹操', '赵云', '孙权']  元素: '关羽'   结果: -1         
    
    def all_index(list1: list, element):if element not in list1:return -1else:index_list = []for index, item in enumerate(list1):if item == element:index_list.append(index)return index_listlist1 = [1, 2, 45, 'abc', 1, '你好', 1, 0]
    element = 1
    print(all_index(list1, element))
    
  9. 写一个自己的len函数,统计指定序列中元素的个数

        例如: 序列:[1, 3, 5, 6]    结果: 4序列:(1, 34, 'a', 45, 'bbb')  结果: 5  序列:'hello w'    结果: 7
    
    def length(element):count = 0for x in element:count += 1return countprint(length((1, 34, 'a', 45, 'bbb')))
    
  10. 写一个自己的max函数,获取指定序列中元素的最大值。如果序列是字典,取字典值的最大值

       例如: 序列:[-7, -12, -1, -9]    结果: -1   序列:'abcdpzasdz'    结果: 'z'  序列:{'小明':90, '张三': 76, '路飞':30, '小花': 98}   结果: 98
    
    def max_value(sequence):if type(sequence) == dict:val_list = [sequence[key] for key in sequence]else:val_list = list(sequence)max_val = val_list[0]for x in val_list[1:]:if x > max_val:max_val = xreturn max_valprint(max_value({'小明': 90, '张三': 76, '路飞': 30, '小花': 98}))
    
  11. 写一个函数实现自己in操作,判断指定序列中,指定的元素是否存在

        例如: 序列: (12, 90, 'abc')   元素: '90'     结果: False序列: [12, 90, 'abc']   元素: 90     结果: True     
    
    def element_in_seq(seq, element):for x in seq:if x == element:return Trueelse:return Falseprint(element_in_seq((12, 90, 'abc'), '90'))
    
  12. 写一个自己的replace函数,将指定字符串中指定的旧字符串转换成指定的新字符串

        例如: 原字符串: 'how are you? and you?'   旧字符串: 'you'  新字符串:'me'  结果: 'how are me? and me?'
    
    def str_replace(str1: str, old_str: str, new_str: str):new_str1 = ''index = 0len1 = len(str1)len2 = len(old_str)while True:if index > len1 - len2:new_str1 += str1[index:]breakif str1[index: index+3] != old_str:new_str1 += str1[index]index += 1else:new_str1 += new_strindex += len2return new_str1print(str_replace('how are you? and you?', 'you', 'me'))
    

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

相关文章

[MFSAN]Aligning Domain-specific Distribution and Classifier

一、Abstract摘要多源域到目标域的迁移学习&#xff0c;之前的大部分为单源域迁移学习即SUDA&#xff0c;这篇论文针对MUDA方法。之前的多源域迁移问题非常常见的一种方法就是&#xff0c;将所有的源域合并成一个单源域并且对齐分布&#xff08;同SUDA方法一样&#xff09;&…

LeetCode - 1723 完成所有工作的最短时间

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 1723. 完成所有工作的最短时间 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个整数数组 jobs &#xff0c;其中 jobs[i] 是完成第 i 项工作要花费的时间。 请你将这些工作分配给 k 位工人。…

PTA第六章作业详解

&#x1f680;write in front&#x1f680; &#x1f4dd;个人主页&#xff1a;认真写博客的夏目浅石. &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f4e3;系列专栏&#xff1a;夏目的作业 &#x1f4ac;总结&#xff1a;希望你看完之后&am…

python函数的参数

函数的参数 1、必传参数 1.1、函数中定义的参数没有默认值&#xff0c;在调用函数时如果不传入则报错 1.2、在定义函数的时候&#xff0c;参数后边没有等号与默认值 1.3、错误&#xff1a;def add(a1, b1) 是错误的 在定义函数的时候&#xff0c;没有默认值且必须在函数执…

CSRF漏洞复现

目录标题原理如何实现和xss区别危害CSRF实战&#xff08;pikachu&#xff09;dvwa靶场CSRF&#xff08;Cross Site Request Forgery&#xff09;。跨站请求伪造原理 攻击者会伪造一个请求&#xff08;一般是一个链接&#xff09;&#xff0c;然后让用户去点击&#xff0c;然后…

10从零开始学Java之开发Java必备软件Intellij idea的安装配置与使用

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者前言壹哥在前面的文章中&#xff0c;带大家下载、安装、配置了Eclipse这个更好用的IDE开发工具&#xff0c;并教会了大家如何在Ecli…

QT | 编写一个简单的上位机

QT | 编写一个简单的上位机 时间&#xff1a;2023-03-19 参考&#xff1a; 1.易懂 | 手把手教你编写你的第一个上位机 2.QT中修改窗口的标题和图标 3.图标下载 1.打开QT Creator 2.新建工程 Qt Creator 可以创建多种项目&#xff0c;在最左侧的列表框中单击“Application”&am…

Python中eval与exec的使用及区别

最近开发中用到了eval()与exec()这两个函数&#xff0c;不知道在哪种场景下用哪个函数&#xff0c;所以就翻了下Python的文档。这里就来简单说一下这两个函数的区别 1. eval函数 函数的作用&#xff1a; 计算指定表达式的值。也就是说它要执行的Python代码只能是单个运算表达…