Python练习--字符串的操作习题

字符串的操作习题

  1. 字符串解析,现有一字符串,“卡巴斯基#杀毒软件#免费版#俄罗斯#”,解析出每个元素。
str = "卡巴斯基#杀毒软件#免费版#俄罗斯#"
#截取到-1,-1不取
str = str[:-1]	
#按照#分割
print(str.split("#"))

去最后一个#,然后再按照#分割,输出结果为:

['卡巴斯基', '杀毒软件', '免费版', '俄罗斯']
  1. 那车水马龙的人世间,那样地来 那样地去,太匆忙"最后一次出现"那"的位置。
str = "那车水马龙的人世间,那样地来 那样地去,太匆忙"
index = str.rfind("那")
print(index)

变量名.rfind()为从右侧开始查找,输出结果为:

15
  1. 判断输入的字符串是否是 .py 结束
str = input("请输入一个字符串:")
#判断后三个字符串是否为.py
if str[-3:] == ".py":
    print(True)
else:
    print(False)

或者使用:

str = input("请输入一个字符串:")
print(str.endswith(".py"))

进行判断。
4. 有一身份证号,判断此为男还是女,基于此方法,写一个算法,判断一个身份证号为男还是女。(身份证分15位和18位)

def is_man(idcard):
    if len(idcard) == 18:
        return True if int(idcard[-2])%2 != 0 else False
    if len(idcard) == 15:
        return True if int(idcard[-1])%2 != 0 else False

b = is_man("111111111111111111")
print(b)
  1. 有如下格式的字符串name-age-sex-address,解析出姓名,年龄等信息。
    直接按照-分开。
str = "name-age-sex-address"
print(str.split("-"))
  1. 求出字符串中有多少种字符,以及每个字符的个数
s = "apple is a apple."
list = [str(i) for i in s]
list.sort()


count = 0
a = list[0]
for item in list:
    if item == a:
        count += 1
    else:
        print(a,":",count)
        count = 1
        a = item
print(a,":",count)
  1. 去掉字符串右边的空格
str = "  fgh        "
print(str.rstrip())
#print(str.repalce(" ",""))
  1. 定义一个方法,将str所指字符串的正序和反序进行连接
str = "hello"
print(str)
print(str[::-1])

#拼接
print(str + str[::-1])
#或者
import operator
print(operator.concat(str,str[::-1]))
  1. 字符串右移n位,例如 “hello world” 右移两位后ldhello wor
s = "hello word"
s1 = s[-3:]+s[:-3]
print(s1)
  1. 判断一个字符串是否是回文
s = "qwewq"
print(s[::-1] == s)
  1. 如下字符串,01#张三#20-02#李四#30-03#王五#40。。。。。。,解析每个人分数多少。样式如下:
    #01 张三 20
    #02 李四 30
    #03 王五 40。并且计算总分。
s = "01#张三#20-02#李四#30-03#王五#40"
list1 = s.split("-")
list2 = [item.split("#") for item in list1]
sum = 0
for item in list2:
    sum += int(item[2])
print(sum)

你可能感兴趣的:(Python练习--字符串的操作习题)