第一题: 已知字符串 a = "aAsmr3idd4bgs7Dlsf9eAF",请将a字符串的大写改为小写,小写改为大写。

 1 def handle_str(params,*arg,**args): #为了函数的健壮性,定义*arg,**args多余的参数传到这里
 2     result=''
 3     if isinstance(params,str):#函数的健壮性,对输入参数的类型做判断
 4         for each in params:
 5             if each.isalpha():
 6                 if each.isupper():
 7                     result=result+each.lower()
 8                 else:
 9                     result=result+each.upper()
10             else:
11                 result=result+each
12         return result
13     else:
14         return '该函数需要的是字符串类型的数据'
15 assert handle_str([1,2,3],5)=='该函数需要的是字符串类型的数据'
16 print handle_str([1,2,3],5)
17 assert handle_str('A12cD')=='a12Cd'
18 print handle_str('A12cD')
19 print handle_str(a)

对自己定义的函数一定要清楚的明白函数输入什么,输出什么,为了健壮性,必要的类型检查,异常捕获不可缺少,

第二题:请将a字符串的数字取出,并输出成一个新的字符串。

 1 def get_int(params,*arg,**args): #*arg,**args接收多余的参数
 2     result=''
 3     if isinstance(params,str): #参数类型判断
 4         for each in params:
 5             if each.isdigit():
 6                 result=result+each
 7         return result
 8     else:
 9         return '该函数需要的是字符串类型的数据'
10 assert get_int('a1b4c5d67',2,3,4,5)=='14567'
11 print get_int('a1b4c5d67',2,3,4,5)
12 assert get_int([1,2],[1,2],[1,2])=='该函数需要的是字符串类型的数据'
13 assert get_int(1,2,3)=='该函数需要的是字符串类型的数据'
14 print get_int(1,2,3)
15 print get_int(a)

第三题:请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {'a':4,'b':2}

 1 def count_alp_times(params,*arg,**args):#定义*arg,**args接收多余的参数
 2     dict_count={}
 3     if isinstance(params,str):
 4         for each in params:
 5             if each.isalpha():
 6                 loweach=each.lower()#把字符串中的字符都转换为小写
 7                 if loweach not in dict_count.keys():#判断字符是否在字典的key中存在
 8                     dict_count[loweach]=1
 9                 else:
10                     dict_count[loweach]+=1
11         return dict_count
12     else:
13         return '该函数需要的是字符串类型的数据'
14 print count_alp_times(a)

第四题:请去除a字符串多次出现的字母,仅留最先出现的一个。例 'abcabb',经过去除后,输出 'abc'

 1 def no_repeat_str(params,*arg,**args):
 2     str_list=[]
 3     if isinstance(params,str):
 4         for each in params:
 5             if each not in str_list:
 6                 str_list.append(each)
 7         return ''.join(str_list)
 8     else:
 9         return '该函数需要的是字符串类型的数据'
10 assert no_repeat_str('abcadeys')=='abcdeys'
11 print no_repeat_str('abcadeys')

第五题:请将a字符串反转并输出。例:'abc'的反转是'cba',a = "aAsmr3idd4bgs7Dlsf9eAF"

1 a = "aAsmr3idd4bgs7Dlsf9eAF"
2 list_a=list(a) #把字符串转换为列表
3 list_a.reverse() #运用列表的翻转函数
4 print ''.join(list_a)#再运用字符串的join函数

第六题:去除a字符串内的数字后,请将该字符串里的单词重新排序(a-z),并且重新输出一个排序后的字符 串。(保留大小写,a与A的顺序关系为:A在a前面。例:AaBb)

1 def str_sorted(params,*arg,**args):#*,**接收多余的参数
2     result=''
3     if isinstance(params,str):#参数类型判断
4         for each in params:
5             if each.isalpha():
6                 result=result+each
7         m=sorted(result) #运用sorted 对字符串从小到大排序
8         return ''.join(sorted(m,key=string.upper)) #运用sorted内置函数中的key关键字,对迭代对象的每一项隐式操作

第七题:此时的单词判断,由'boy'改为四个,分别是 'boy','girl','bird','dirty',请判断如上这4个字符串里的每个字母,是否都出现在a字符串里。

 1 def find_alp_many(target,sourse):
 2     for each in target: #遍历传入要查找的所有对象
 3         if not isinstance(each,str):#判断每一个要查找的对象的数据类型,过滤非字符串形式的
 4             return 'not all items  is string type'
 5         else:
 6             for eachalp in each:
 7                 if eachalp not in sourse:#每一项进行查找
 8                     return 'find %s not all alpha is in sourse'% each
 9     else:
10         return 'all alpha in sourse'
11 a='abcdysogirdgtl'
12 assert find_alp_many(['boy','girl','bird','dirty'],a)=='all alpha in sourse'
13 print find_alp_many(['boy','girl','bird','dirty'],a)     

第八题:输出a字符串出现频率最高的字母

 1 a = "aAsmr3idd4bgs7Dlsf9eAF"
 2 dict_a={}
 3 for each in a:
 4     if each.isalpha():
 5         if each not in dict_a.keys():
 6             dict_a[each]=1
 7         else:
 8             dict_a[each]+=1
 9
10 data=dict_a.items()
11 print sorted(data,key=lambda x:x[1],reverse=True)

转载于:https://www.cnblogs.com/zidonghuaqianxing/p/6245523.html

数据类型之字符串练习相关推荐

  1. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  2. Python基础数据类型之字符串(二)

    Python基础数据类型之字符串(二) 一.字符串的常规操作 二.字符串的大小写转换 1.首字母大写 2. 每个单词首字母大写 3.大写转化为小写 4.所有字母变成大写字母 二.验证码忽略大小写 三. ...

  3. Python基础数据类型之字符串(一)

    Python基础数据类型之字符串(一) 一.字符串格式化 1.字符串占位符 2.字符串格式化操作 二.f-string格式化 三.字符串的索引 四.字符串的切片 1.常规切片使用方法 3.步长的介绍 ...

  4. API-基本数据类型与字符串的互换

    今天学习了基本数据类型与字符串之间的互换,与大家共享下! 首先我们来看基本数据类型转化为字符串: API中为我们提供了toString()函数和String.valueOf()函数,应用如下: pub ...

  5. 基本数据类型与字符串的转换

    基本数据类型与字符串的转换 1.字符串转化成其他类型 口诀:需要转成什么类型就用什么类型的包装类调用方法 byte Byte short Short int Integer long Long cha ...

  6. Java学习笔记之:Java引用数据类型之字符串

    一.简介 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String greeting = "H ...

  7. Python学习笔记简单数据类型之字符串

    1.字符串: (1).字符串就是一系列字符,串起来形成的一种简单数据类型.在Python中,用引号括起来的都是字符串,包括单引号,双引号,其中字符串可以灵活的运用起来,字符串中可以包括引号和撇号,示例 ...

  8. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  9. python数据类型:字符串

    """ 1.基本数据类型:字符串.数字(整型和浮点型).布尔值.列表.元组.字典.集合.None字符串(str):标识:单行字符串--用单引号/双引号括起来 " ...

  10. Java基本数据类型转字符串

    Java基本数据类型转字符串总共有四种方法 1.强制类型转换 String str=(String)num 2.通过空字符串+数字的形式 String str=""+num 3.使 ...

最新文章

  1. 5.3Role和Claims授权「深入浅出ASP.NET Core系列」
  2. SQLServer数据库试题及答案
  3. rsync单项同步文件
  4. 当你所有的尝试告一段落
  5. Elasticsearch自定排序插件实现
  6. matlab查找替换指令,使用matlab GUI在.txt文件中编辑特定数字使用搜索/替换
  7. AOP就是面向切面编程,我们可以从几个层面来实现AOP。 ![](https://upload-im
  8. iOS Target-Action模式下内存泄露问题深入探究
  9. 小心编译器的隐式声明
  10. odbc数据库access丢失_有关使用access数据库,odbc中碰到的一些问题。
  11. GANs是如何创造出高分辨率的图像的
  12. 3D蓝光影碟的SSIF文件
  13. 合肥工业大学计算机学院任恒,合肥工业大学计算机与信息学院导师教师师资介绍简介-△张玉红...
  14. 本科课程【虚拟现实引擎Unity3D】实验3 - 烘焙光影贴图与动画应用
  15. Matlab工具箱标定和校正鱼眼镜头
  16. React中使用SWR处理数据请求
  17. Web前端——JSP
  18. 常见的SQL面试题(学生表_课程表_成绩表_教师表)
  19. 2021消防设施操作员(初级)岗位考试模拟题库应急疏散逃生知识部分
  20. C#WinForm二维码编码解码器

热门文章

  1. Docker 学习应用篇之一: 初识Docker
  2. 使用rapid-framework自动生成struct2
  3. FireBug命令行命令介绍
  4. ilistT 与listT 之间的相互转换
  5. android启动的阅读笔记
  6. java注解封装默认值_Java注解默认值
  7. python数据接口获取数据_python UI自动化实战记录二:请求接口数据并提取数据
  8. Linux 中的文件传输
  9. 恭喜我的同事黄玉奇入选开放原子开源基金会TOC
  10. 5天让你技能加满的“王炸组合”,速来!