字符串练习题

1. 去掉字符串中所有的空格

s="1 23wqw 23 qw w 2"
for i in range(1,len(s)+1):
	if s[i:i+1:1]!=" ":
		print(s[i:i+1:1],end="")

2. 获取字符串中汉字的个数

num=0
s="重   庆r城3市科2技s学院"
for i in s:
	if ord(i)>127:
		num+=1
print(num)

3. 将字母全部转换为大写和小写

s="aBcDEgh"
for i in s:
	if ord(i)>=65 and ord(i)<=90:
		print(chr(32+ord(i)),end="")
	else:
		print(i,end="")
print()
for i in s:
	if ord(i)>=97 and ord(i)<=122:
		print(chr(ord(i)-32),end="")
	else:
		print(i,end="")

4. 根据标点符号对字符串进行分行

s="重庆市科技学院:人工智能与大数据学院,软件工程-4班"
for i in s:
	if ord(i)>=97 and ord(i)<=122 or ord(i)>=65 and ord(i)<=90 or ord(i)>=48 and ord(i)<=57 or ord(i)>127:
		print(i,end="")
	else:
		print(i)

5. 去掉字符串数组中每个字符串的空格(循环)

s="1123  asd 23 s 231"
for i in s:
	if i!=" ":
		print(i,end="")

6. 随意输入心中想到的一个书名,然后输出它的字符串长度(len属性)

s=input("输入你想到的书名:")
print(len(s))

7. 接收用户输入的字符串,将其中的字符进行排序,并以逆序输出,例如:acdefb - abcdeffedcba

s=input("请输入字符串:")
t=""
arr=list(s)
for i in range(0,len(s)):
	for j in range(len(s)-1,i,-1):
		if arr[j]<arr[j-1]:
			arr[j],arr[j-1]=arr[j-1],arr[j]
	print(arr[i],end="")
	t=arr[i]+t
print()
print(t)

8. 用户输入一句英文,将其中的单词以反序输出 例如:hello c sharp — sharp c hello

s=input("请输入字符串:")
l=list(s)
for i in range(len(l)-1,-1,-1):
	print(l[i],end="")

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

s=input("请输入字符串:")
l=list(s)
for i in range(0,len(s)):
	if l[i] =="呵":
		print(i)

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

ls=["老人与海","草房子","hhhhhhswwwwwww","dssssssssssrre","dasdqdqwdq","wqeqw"]
for i in ls:
	print(i[0:10:1])

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

s=input("请输入字符串:")
l=list(s)
for i in range(0,len(s)-1):
	if l[i] =="呵":
		if l[i+1]=="呵":
			print(i)

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

s1=input("请输入字符串:")
s2=input("请输入字符串:")
l1=list(s1)
l2=list(s2)
for i in range(0,len(l1)-len(l2)+1):
	if l1[i]==l2[0]:
		for j in range(0,len(l2)):
			if l1[i+j]!=l2[j]:
				break
			else:
				if j==len(l2):
					print("是子串")

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

s1=input("请输入字符串:")
s2=input("请输入字符串:")
l1=list(s1)
l2=list(s2)
p=1
for i in l1:
	t=0
	for j in range(0,len(l2)):
		if i == l2[j]:
			t=1
			break
	if t==0:
		p=0
		print("no")
		break
if p==1:
	print("yes")

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

import random
s=int(input("请输入需要的字符串长度"))
for i in range(0,s):
	x=random.randint(0,25)+65
	print(chr(x),end="")

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

import random
s=int(input("请输入需要的字符串长度"))
for i in range(0,s):
	t=random.randint(0,1)
	if t==1:
		x=random.randint(0,25)+65
		print(chr(x),end="")
	else:
		x=random.randint(0,9)+48
		print(chr(x),end="")

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

s=input("请输入字符串:")
l=list(s)
shu=0
zimu=0
for i in l:
	if i>="0" and i<="9":
		shu=1
	if i>="a" and i<="z" or i>="A" and i<="Z":
		zimu=1
	if shu==1 and zimu==1:
		print("yes")
		break
if shu!=1 or zimu!=1:
	print("no")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值