python字符串练习题

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

利用strip()方法

s = "     hjfhh     " 
s1 = s.strip()
print(s1)

运行结果:

python字符串练习题_第1张图片

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

利用upper()和lower方法

str1 = "jfjkgj"
str2 = str1.upper()
print(str2)
str3 = str2.lower()
print(str3)

运行结果:

python字符串练习题_第2张图片

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

利用len()方法

bookname = input("请输入一个书名:")
print(len(bookname))

运行结果:

 python字符串练习题_第3张图片

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

利用find()方法

str1 = "I am your father"
if str1.find("your") != -1:
    print("your in str1")
else:
    print("your not in str1")

运行结果:


python字符串练习题_第4张图片

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

利用for循环

str1 = input("请输入一段汉字:")
num = 0
for i in str1 :
	if i >= "\u4e00" and i <= "\u9fa5" :
		num += 1
print(num)

运行结果:

python字符串练习题_第5张图片

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

方法一:利用循环和切片

str1 = input("请输入一句话:")
k = 0
for i in str1 :
	if str1[k] == '呵' :
		print(k)
	k += 1

方法二:利用循环和切片以及列表,创建一个新的列表,同时用append()方法

str1 = input("请输入一句话:")
ls = []
for i in range(0,len(str1)) :
	 if str1[i] == '呵' :
	 	ls.append(i)
	 print(i)

运行结果:

python字符串练习题_第6张图片

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

str1 = input("请输入一句话:")
k = 0
for i in range(1,len(str1)) :
	if str1[k] == '呵' and str1[k + 1] == '呵':
	   print("{},{}".format(k,k + 1))
	k += 1

运行结果:

python字符串练习题_第7张图片

 

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

利用find()和循环

str1 = input("请输入字符串1:")
str2 = input("请输入字符串2:")
for i in range(0,len(str2)) :
	if str1.find(str2[i]) != -1 :
	   print(True)
else :
	   print(False)

 运行结果:

python字符串练习题_第8张图片

 

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

利用join()拼接字符串和字符串库以及随机函数

import random
import string
num = 4
str1 = ''.join(random.sample(string.ascii_letters,num))
print(str1)

运行结果:

python字符串练习题_第9张图片

 

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

利用join()拼接字符串和字符串库和数字库以及随机函数

import random
import string
num = 4
str1 = ''.join(random.sample(string.ascii_letters + string.digits,num))
print(str1)

运行结果:

 

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

利用isalnum()包含数字和字母,isalpha()排除全是字母的情况,isdigit()排除全是数字的情况

str1 = input("请输入一段字符串:")
if str1.isalnum() and not str1.isalpha() and not str1.isdigit() :
	print(True)
else :
	print(False)

运行结果:

 

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

利用split()方法

str1 = "好好学习,天天向上"
a = str1.split(",")
k = 0
for i in a :
    print(a[k])
    k += 1

运行结果:

python字符串练习题_第10张图片

 

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

利用split()将字符串变为列表,再用列表的reverse()将元素颠倒,最后利用join()将列表转化为字符串

str1 = input("请输入一段英文:")
list1 = str1.split(" ")
list1.reverse()
print(" ".join(list1))

运行结果:

python字符串练习题_第11张图片

 

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

利用list()将字符串变为列表,再用sort()进行排序,用reverse()将字母颠倒,最后用join()拼接成字符串

str1 = input("请输入字符串:")
list1 = list(str1)
list1.sort()
list1.reverse()
print("".join(list1))

运行结果:

 

15. 去掉字符串数组中每个字符串的空格

利用字符串中的replace()方法

str1 = input("请输入一个字符串:")
print(str1.replace(" ",""))

运行结果:

python字符串练习题_第12张图片

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

list1 = ["平凡的世界","老人与海","水浒传","西游记","三国演义","红楼梦","忘萱忧草之被遗忘的爱情","鲁滨逊漂流记","我是一个可大可小的人儿","稻草人"]
for i in range(0,len(list1)):
	a = list1[i]
	if len(a) > 10 :
		a = a[:8]
		list1[i] = a
print(list1)
 

运行结果:

 

你可能感兴趣的:(python,python)