数据类型之字符串练习

第一题: 已知字符串 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)
时间: 2024-10-06 01:33:07

数据类型之字符串练习的相关文章

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

今天学习了基本数据类型与字符串之间的互换,与大家共享下! 首先我们来看基本数据类型转化为字符串: API中为我们提供了toString()函数和String.valueOf()函数,应用如下: public class Main_1 { public static void main(String[] args) { Integer a=new Integer(500); // 以字符串的形式输出500 // 第一种方法,使用toString() System.out.println(a.toS

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

/* 基本数据类型与字符串的相互转换 基本数据类型(int,float,double char) 1> int类型转换成字符串 2> float->NSString 3> double->NSString 4> char->NSString 5> NSString->int 6> NSString->float 7>NSString->double 8>将字符串中的字母转化成大写 9>将字符串的字母转换成小写 10&

基本数据类型(字符串_数字_列表_元祖_字典_集合)

基本数据类型(字符串_数字_列表_元祖_字典_集合) 1.字符串 2.数字 除了布尔类型外,int.long.float和complex都可以使用的运算为:加.减.乘.除.整除.幂运算和取余 3.列表和元组 列表的内容可变,可以包含任意对象,使用中括号表示.元组的内容不可变,可以包含任意对象,使用圆括号表示.元组 1 l = [1, 2, 3, '4', '5'] # 列表 2 l = list((1, 2, 3, '4', '5')) 3 4 t = (1, 2, 3, '4', '5') #

Redis数据类型之字符串

Redis数据类型之字符串 redis的字符串 redis的字符串不是C语言原生的字符串,而是自己构建的称为简单动态字符串(simple dynamic string),简称 SDS,和C语言原生的字符串相似,使用'\0'作为结尾. 除了打印日志之外,我们操作字符串基本是在使用SDS SDS的在redis的主要功能 1. 保存数据库的字符串值 2. 用作缓冲区buffer SDS在redis的定义 在源码包下面的src目录下的sds.h 和sds.c typedef char *sds; /**

06-MYSQL数据类型 日期 字符串

                06-MYSQL数据类型 日期 字符串 ----整数类型 整数类型 字节 取值范围 取值范围 tinyint 1 有符号 -128 无符号 0 有符号 127 无符号 255 smallint 2 有符号 -32768 无符号 0 有符号 32767 无符号65535 mediumint 3 有符号 -8388608 无符号 0 有符号 8388607 无符号1677215 int,integer 4 有符号 -2147483648 无符号 0 有符号 21474

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

package com.hgd.study; /** * 引用数据类型之字符串 * * 栈空间:存放的是比较小的数据,包含基本数据类型和字符串,变量名 * 堆空间:存放的是引用数据类型 * @author HuTiger * */ public class ReferenceTypesString { public static void main(String[] args) { int i =100;//声明一个整型,并初始化 //在java中字符串将作为引用数据类型 String name

Python生涯之数据类型(字符串)

python中断多重循环的方法exit_flag 常见的方法: exit_flag = flase for 循环: for 循环: if 条件 exit_flag = true break #跳出里面的循环 if exit_flag: break #跳出外面的循环 基本数据类型和扩展数据类型的分类? 基本数据类型: 可变数据类型:列表,字典,集合 不可变数据类型:字符串,元祖,数字 扩展性数据类型: 1,namedtuole():生成可以使用名字来访问元素内容的tuple子类 2,deque:双

Python基础数据类型之字符串

Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >>> str1 = 'hello' >>> str2 = "hello" >>> str3 = '''hello''' >>> str4 = """hello""" &g

python基本数据类型之字符串(三)

python基本数据类型之字符串(三) 转换和判断方法 在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式.因此,在这篇文章中,笔者把转换方法和相应的判断方法放在一起进行讲解. 这些方法包括:capitalize.casefold.lower\islower.upper\isupper.maketrans\translate.swapcase.title\istitle 1.capitalize.title.istitle capital

python基本数据类型之字符串(四)

python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值都是bool类型(True\False). 方法包括:startswith\endswith.isalnum\isalpha.isdecimal\isdigit\isnumeric.isidentifier.isprintable.isspace 1.startswith.endswith 这两个方