python字符串练习题
1、去掉字符串中所有的空格
c = input("输入一段字符串:")
print(c.replace(" ",""))
2、获取字符串中汉字的个数
c = str(input("输入一段字符串:"))
num = 0
for i in c:
if i>="\u4e00" and i <= "\u9fa5":
num += 1
print(num)
3、将字母全部转换为大写和小写
c = str(input("请输入一段字符串:"))
c1 = c.lower()
print(c1)
c2 = c.upper()
print(c2)
4、根据标点符号对字符串进行分析
c = input("请输入一段字符串:")
print(c.replace(",","\n"))
5、去掉字符串数组中每个字符串的空格(循环)
c = []
q = eval(input("请输入字符串的个数"))
for i in range(0,q):
a = input("请输入字符串:")
c.append(a)
for i in range(0,len(c)):
c[i]=str(c[i].replace(" ",""))
print(c)
6、随意输入心中想到的一个书名,然后输出它得到字符串长度(len属性)
c = input("输入一个书名:")
print("书名长度为:" + str(len(c)))
7、接收用户输入的字符串,将其中的字符进行排序,并以逆序输出
例:acdefb-abcdef-fedcba
s = input("请输入字符串:")
ls = list(s)
ls.sort()
ls.reverse()
print(''.join(ls))
8、用户输入一句英文,将其中的单词以反序输出
例:hello c sharp–sharp c hello
s = input("请输入一句英文:")
s1 = s.split(",")
print(s1)
ls = list(s1)
ls.reverse()
print(','.join(ls))
9、用户输入一句话,找出所有“呵”的位置
import re
s = input("请输入一句话:")
find = "呵"
position = [findstr.start() for findstr in re.finditer(find,s)]
print(position)
10、有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若长度大于截取长度为8的子串,将统一处理后的结果输出
list = ["东方快车谋杀案","了不起的盖茨比","十宗罪","白夜行","毕业","解忧杂货铺","放学后","湖畔","嫌疑人X的献身","秘密"]
for i in range(0,len(list)):
a = list[i]
if len(a)>10:
a=a[:9]
list[i]=a
print(list)
11、用户出入一句话,找出所有“呵呵”的位置
import re
s = input("请输入一句话:")
find = "呵呵"
position = [findstr.start() for findstr in re.finditer(find,s)]
print(position)
12、如何判断一个字符串是否是另一个字符串的子串
import re
str1 = "abcdefghijklmnopqrxtuvwxyz"
str2 = input("请输入想要判断的字符串:")
position = [str2str.start() for str2str in re.finditer(str2,str1)]
if position == []:
print("输入字符串不在所查找的字符串中")
else:
print("输入字符串在所查找的字符串中")
13、如何验证一个字符串中的每一个字符均在另一个字符串中出现
c1 = input("请输入想要依照的字符串:")
c2 = input("请输入想要判断的字符串:")
count = 0
for i in c2:
if i in c1:
count += 1
if count == len(c2):
print("字符串中的每一个字符均在另一个字符串中出现")
else:
print("字符串中有字符没有在另一个字符串中出现")
14、如何生成无数字的全字母的字符串
import random
import string
num = 4
str = ''.join(random.sample(string.ascii_letters,num))
print(str)
15、如何随机生成带数字和字母的字符串
import random
import string
num = 4
token = ''.join(random.sample(string.digits + string.ascii_letters,num))
print(token)
16、如何判定一个字符串中既有数字又有字母
s = input("请输入想要判断的字符串:")
s = s.replace(" ","")
s = s.replace(",","")
a = s.isalpha()
n = s.isdigit()
x = s.isalnum()
if x == True and a != True and n != True:
print("此字符串中既有数字又有字母")
elif a == True:
print("此字符串中仅有字母")
elif n == True:
print("此字符串中仅有数字")
18、L = [‘Adam’,‘Lisa’,‘Bart’,‘paul’]取前三个元素
L = ['Adam','Lisa','Bart','Paul']
print(L[:3])
19、切片取数
range()函数创建一个数列: range(1,101) [1,2,3,…,100] 利用切片取出: 1、前10个数 2、3的倍数 3、不大于50的5的倍数
n = list(range(1,101))
print(n[:10]) #前10个数
print(n[2::3]) #3的倍数
print(n[:50][4::5]) #不大于50的5的倍数
20、利用倒序切片对1-100的数列取出:最后十个数、最后十个5的倍数
n = list(range(1,101))
print(n[-1:-11:-1])
print(n[-6::-5][:10])
20、输入身份证号,取出出生年月日以及性别
n = list(input("请输入身份证号:"))
print("出生年份为",n[6:10])
print("出生月份为",n[6:][4:6])
print("出生日期为",n[6:][6:8])
sex = int(n[16])
if sex % 2 ==0:
print("性别为女")
else:
print("性别为男")
|