首页 > 编程知识 正文

python字符串反转函数,python中字符串的切片

时间:2023-05-06 21:10:17 阅读:127891 作者:3963

python字符串和切片操作1 .消除字符串中的所有空格2 .获取字符串中的汉字个数3 .将字母全部转换为大小写4 .根据标点符号换行5 .消除字符串数组中每个字符串的空格(循环) 6 7 .用户输入日期格式,例如“’2021/03/28”,并将输入的日期转换为“2021年-3月-28日”。 8 .接收用户输入的字符串,对其中的字符进行排序,并按相反顺序输出。 9 .用户输入一句英语,然后按反序输出其中的单词10。 用户输入一个句子,找到“嘿嘿”的所有位置11。 有存储10个书名的字符串排列,书名有长有短。 现在,对它们进行统一处理,如果长度大于10,则剪切出长度为8的子串,将统一处理的结果12 .用户输入一个句子。 找到所有“笨蛋”的位置13 .确定一个字符串是否是另一个字符串的子串14 .验证一个字符串的所有字符出现在另一个字符串中15 .生成无数字的字母字符串16 .随机生成数字和字母字符串19 .如果一个数据取回文数字20.l=[‘Adam’、‘Lisa’、‘Bart’、‘Paul’前三个元素21. range函数,就可以构造一个数列。 使用range (1,101 ) 22 )逆序切片对的最后10个5的倍数23。 请设计一个函数,它接收字符串并返回只有第一个字符是大写的字符串。 (str的strip ) )方法25 )使用切片操作实现trim ) )函数,以避免从键盘输入自己或同学的id号

1 .从字符串中删除所有空格

可以应用replace(m,n )方法以从字符串中删除空格

代码实现如下所示

//删除字符串中的所有空格s='thisisademo'print(s.replace )、'') )后的结果如下图所示

2 .获取字符串中汉字的个数首先要获取汉字,必须知道Unicode的字符编码。

u0020空间

(u0040 ) ) u005a大写字母a ((z ) ) ) ) ) ) )。

u0061 ~ u007A小写字母a~z

(u4e00 ) )中文字符

u0030 ~ u0039数字

了解这些字符编码后,可以使用isalpha (函数确定字符串中的汉字数。

代码实现如下所示

ch=0; string=input (forx instring 3360 ifx=' (u9fff ' andx=' u4e 00 ' : ch=1print ) ch )运行结果如下图所示

3 .要将所有字符转换为大小写将大小写转换为大小写(swapcase ) )函数

代码实现如下所示

str='thisisstringexample.wow!' print(str.swapcase ) )的执行结果如下图所示

4 .要根据标点符号拆分字符串,请使用split (函数

split ) )默认情况下用空格分隔,如果在其中添加逗号,则会用逗号分隔,如: split ),)

代码实现如下所示

str1='a、b、c、d'list1=str1.split (',') split ) )被划分为一个列表类型,因此//在一个列表中使用foreachinlist13360print

5 .删除字符串数组中每个字符串的空格(循环)代码

ls=[' hh 12 ','卧底是谁',' ayouok']ls1=[]forInrange(0,len(ls ) ]:ls1.append ) ls([I].replace )

6 .自由输入心中想到的书名,输出其字符串长度(len属性)代码实现

str=input (打印) len (str ) )的执行结果

7 .用户输入日期格式,如“”2021/03/28”,并将输入的日期转换为2021年-3月-28日代码

s='2021/03/28'a=s.split((/) a ) )0) )年) a(1) )月) a ) ) (a )2) )日)-. ) ) 65

8 .接收用户输入的字符串,对其中的字符进行排序,并按相反顺序输出。 例如acdefb - abcdef-fedcba

因为python没有字符数组的概念,所以可以将字符串保存到列表中,并按列表中的sort函数进行排序。

代码如下

s='ACdefb'll=list(s ) /将字符串存储在列表中的ll.sort ) ) ll.sort ) reverse=true ) /默认值按升序排序,re

verse = True参数实现降序排列,l2=''.join(ll)//把列表中的元素放在空串中print(l2)

运行结果如下

9… 用户输入一句英文,将其中的单词以反序输出

例如:hello c sharp — sharp c hello
代码如下

str=input()s=str.split()//以空格来分开字符串s.sort(reverse=True)//缺省为升序排序,通过reverse = True参数实现降序排列,l2=' '.join(s)//把列表中的元素放在空串中,元素间用空格隔开print(l2)

运行结果如下

10. 用户输入一句话,找出所有”呵“的位置

这题可以先建立一个空列表,然后再遍历字符串
如果找到"呵"就给空列表添加i的值。
代码如下

s = input("请输入一段话!")ls = []for i in range(0,len(s)): if s[i] == "呵": ls.append(i)print("呵的位置是:{}".format(ls))

运行结果如下

11.有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若长度大于10,则截取长度为8的子串,将统一处理后的结果输出

代码如下

ls = ["我的世界冲冲冲啊冲啊啊","遥远的老天爷","红尘往市不在回首嘿嘿黑","活着","白鹿原之青青草原112"] //10个书名太多了,我只存了几个for i in range(0,len(ls)):s=ls[i]if(len(s)>10):s=s[0:9]ls=[i]=sprint(ls)

运行结果如下

12.用户输入一句话,找出所有”呵呵“的位置

这题直接在第十题的基础上加一个判断条件就好了
代码如下

s = input("请输入一段话!")ls = []for i in range(0,len(s)-1): if s[i] == "呵"and s[i+1] =="呵": ls.append(i)print("呵的位置是:{}".format(ls))

运行结果如下

13.如何判断一个字符串是否是另一个字符串的子串

代码如下

s = input("请输入字符串A:")s1 = input("请输入需要判断的字符串B:")flag = Trueif s.find(s1) != -1: flag = Falseif flag: print("字符串B {}不在A {}内".format(s1,s))else: print("字符串B {}在A {}内".format(s1,s))

运行结果如下

14.如何验证一个字符串中的每一个字符均在另一个字符串中出现

这题在上一题的基础上加一个循环判断每一个元素就好了
代码如下

s = input("请输入字符串A:")s1 = input("请输入需要判断的字符串B:")flag = Truefor i in range(0,len(s1)): if s.find(s1[i]) == -1: flag = Falseif flag: print("字符串B{}的所有元素在A{}内".format(s1,s))else: print("字符串B{}不是所有元素都在A{}内".format(s1,s))

运行结果如下

15.如何生成无数字的全字母的字符串

代码如下

import stringimport randoms = string.ascii_letters//前为生成字母,后为生成数字s1 = ""for i in range(1,20): s1 += random.choice(s)print(s1)

运行结果如下

16.如何随机生成带数字和字母的字符串

代码如下

import stringimport randoms = string.ascii_letters + string.digits//前为生成字母,后为生成数字s1 = ""for i in range(1,20): s1 += random.choice(s)print(s1)

运行结果如下

17.如何判定一个字符串中既有数字又有字母

代码如下

import strings = input("输入需要判断的字符串:")if (s.isalnum()and not s.isalpha()) and not s.isdigit(): print("字符串{}里包含数字和字母".format(s))else: print("字符串{}里并不是既包含字母又包含数字".format(s))

运行结果如下

18.python中不可变对象有哪些?

在Python中,数值(整型,浮点型),布尔型,字符串,元组属于值类型,本身不允许被修改(不可变类型),数值的修改实际上是让变量指向了一个新的对象(新创建的对象),所以不会发生共享内存问题。 这种方式同Java的不可变对象(String)实现方式相同。

a = 1b = aa = 2print(b) //输出的结果是1 修改值类型的值,只是让它指向一个新的内存地址,并不会改变变量b的值。 19.判断一个数是否是回文数字

这题我们可以利用pyhton中的切片操作来判断
代码如下

n=input()m=n[::-1]//将n倒序if(n==m):print("yes")else:print("no")

运行结果如下

20. L = [‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’]取前三个元素

代码如下

L = ["Adam", "Lisa", "Bart", "Paul"] n=L[0:3] print(n)

运行结果如下

21. range()函数可以创建一个数列:range(1, 101)

[1, 2, 3, …, 100]
请利用切片,取出:

前10个数;3的倍数;不大于50的5的倍数。
代码如下 for i in range(1,101)[0:10]://前10个数print(i)for i in range(1,101)[2::3]://3的倍数print(i)for i in range(1,101)[4:50:5]://不大于50的5的倍数print(i)

运行结果如下


22.利用倒序切片对 1 - 100 的数列取出:最后10个数;最后10个5的倍数

代码如下

for i in range(1,101)[-10:]://最后10个数print(i,end=" ")for i in range(1,101)[4::5][-10:]://最后10个5的倍数print(i,end=" ")

运行结果如下

23. 请设计一个函数,它接受一个字符串,然后返回一个仅首字母变成大写的字符串(切片upper())

代码如下

def firstCharUpper(s): y=s.lower() y=y[0:1].upper()+y[1:] return yprint firstCharUpper(('hello'))print firstCharUpper(('sunday'))print firstCharUpper(('september'))

运行结果如下

24.利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法

代码如下

def Trim(s):while s[:1]==' ':s=s[1:]while s[-1:]==' ':s=s[:-1]return sx=" hello "print(Trim(x))

运行结果如下

25.从键盘上输入自己或同学的身份证号,从中取出出生年份、月份、日期以及性别信息

代码如下

a=input("请输入您的身份证号:")year=a[6:10]month=a[10:12]day=a[12:14]sex=a[16:17]sex=int(sex)if sex % 2:sex='男'else:sex='女'print("您是%s年%s月%s日出生的%s孩."%(year,month,day,sex))

运行结果如下

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。