python字符串练习
1.去掉字符串中所有的空格
s = ' This is a demo '
print(s.replace(' ', ''))
2.获取字符串中数字的个数
data = input("请输入一些字符串:")
a = 0
for i in data:
if i.isdigit():
a = a + 1
print("数字个数:", a)
3.将字母全部转换为大写和小写
str_ = "You are the best!"
print(str_.upper()) # 把所有字符串中的小写字母转换成大写字母
print(str_.lower()) # 把所有字符串中的大写字母转换成小写字母
4.根据标点符号对字符串进行分行
string = input('请输入数据:')
fuhao = input('请输入要分行的符号:')
string = string.split(fuhao)
print(string)
for i in string:
print(i)
5.去掉字符串数组中每个字符串的空格(循环)
list_after = []
for facter in list_before:
a = ''
for i in facter:
if i != ' ':
a += i
list_after.append(a)
print(list_after)
6.随意输入心中想到的一个书名,然后输出它的字符串长度(len属性)
Bookname = input('请输入书名:')
print('这本书的字符串长度为%d' % (len(Bookname)))
7.接收用户输入的字符串,将其中的字符进行排序,并以逆序输出,例如:acdefb-abcdef-fedcba
str = input('请输入字符串:')
str_lst = list(str)
print('转换后的列表为:{0}'.format(str_lst))
str_lst.sort()
en1 = ''.join(str_lst)
en2 = en1[::-1]
print('正序{0},倒叙{1}'.format(en1, en2))
8.用户输入一句英文,将其中的单词以反序输出例如:hello csharp—sharp chello
str = input('请输入一句英文:')
str1 = str.split(' ') # 字符串分割后为列表
str2 = str1[::-1] # 倒叙
print(str1)
print(str2)
str3 = ''
for i in range(len(str2)):
str3 += str2[i] + ' '
print('倒叙输出为:{}'.format(str3))
9.用户输入一句话,找出所有”呵“的位置
user = str(input("请输入一句话并且带呵:"))
lst = []
for i in range(0, len(user)):
if user[i] == '呵':
lst.append(i)
print('该句所有呵的位置为:%s' % (lst))```
![ ](https://img-blog.csdnimg.cn/9304d9aa06d34ce9b50b894f76efdd48.png)
10.有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若长度大于10,则截取长度为8的子串,将统一处理后的结果输出
string_lst = [“C语言程序设计基础教程”, “草房子”, “那年那兔那些事儿”, “云边的小卖部”]
a = 0
for i in string_lst:
if len(i) > 10:
string_lst[a] = string_lst[a][:9]
a += 1
print(string_lst)
![在这里插入图片描述](https://img-blog.csdnimg.cn/057a626def9b4c31bc5e3b87724f5260.png)
10.用户输入一句话,找出所有”呵呵“的位置
for i in range(0, length):
if i < (length - 1) and words[i] == “呵” and words[i + 1] == “呵”:
print(“呵呵在%s的位置” % i)
![在这里插入图片描述](https://img-blog.csdnimg.cn/cc40204fcdb842a0b64349f2fa43cea4.png)
12.如何判断一个字符串是否是另一个字符串的子串
str1=input(‘请输入一个字符串:’)
str2=input(‘请输入一个字符串’)
if str2 in str1 :
print(‘str2 是 str1 的子串’)
elif str1 in str2:
print(‘str1 是 str2 的子串’)
else:
print(‘str2和str1不是相关字符串’)
![在这里插入图片描述](https://img-blog.csdnimg.cn/9ab3c7ade6454cb1972ca2612b9d01a9.png)
13.如何生成无数字的全字母的字符串
import random
import string
for i in range(0,random.randint(1,10)):
print(random.choice(string.ascii_letters),end=“”)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2a29df8f59154db49304be6ea1c65c6a.png)
14.如何随机生成带数字和字母的字符串
import string
import random
for i in range(0, random.randint(1, 5)):
for k in range(0, random.randint(1, 5)):
print(random.choice(string.ascii_letters), end=“”)
for j in range(0, random.randint(1, 5)):
print(random.randint(1, 10), end=“”)
16.如何判定一个字符串中既有数字又有字母
分析:需要判断字符串中既有字母又有数字,isalnum判断全部 由字母和数字组成,但是不能确定既有字母又有数字,
需要再判断不全是字母和不全是数字即可
str = input(‘请输入一个字符串:’)
if (str.isalnum() and not str.isdigit() and not str.isalpha()):
print(‘str中只有数字和字母’)
else:
print(‘str不是既有数字和字母’)