python练习题04 字符串与集合的定义和操作

141 阅读2分钟

字符串的定义

定义空字符串:  字符串名 = ''     字符串名 = ""

定义非空字符串: 字符串名 = '多个字符'   字符串名 = "多个字符"   字符串名 = """多个字符_支持换行操作"""

字符串的查询操作

注意: 字符串中的每个元素都单独小字符串

根据索引查询指定位置上的元素:  字符串名[索引]

查询列表中元素的总个数: length = len(字符串名)

查询指定元素出现的次数: count = 字符串名.count(元素) 注意: 查找的元素如果不存在就返回0

查询指定元素的索引位置: index = 字符串名.index(元素) 注意: 如果查找的元素不存在就报错: ValueError: substring not found

字符串的特有操作

把原有字符串中指定内容替换成新内容: 新的字符串 =  原有字符串.replace()

把原有字符串中两端空白或指定内容去除: 新的字符串 =  原有字符串.strip()

根据指定分隔符,把原有字符串切割成多个子串放到列表中: 列表存储切割的小字符 =  原有字符串.split(分隔符)

join: 把容器中每个元素用指定分隔符连接成一个大字符串

集合 set

定义空集合:  集合名 = set()         注意: {}代表空字典

定义非空集合: 集合名 = {元素1 ,元素2 , ...}

集合的增删改查操作

添加一个元素到集合内: 集合名.add(元素)

从集合中移除一个元素:集合名.remove(元素)

更新集合内容为集合和另一个集合的并集: 集合名.update(另一个集合) 

更新集合内容为集合和另一个集合的差集: 集合名.different_update(另一个集合) 

查询集合的长度:len(集合名)

练习题

请你设定一个自动做题系统,根据这段话,完成一道小学生乘法运算题,要求有过程。

例:隔壁的王叔叔是个卖鱼佬,他一斤鱼买23块,问买5斤鱼要多少钱?

question='隔壁的王叔叔是个卖鱼佬,他一斤鱼买23块,问卖5斤鱼要多少钱?'
str1 =''
count = 0
for a in question:
    if a.isdecimal() == True:
        count+=1
    else:
        count=0
    if count == 0:
        str1+=' '
    else:
        str1+= f'{a}'
str1 =str1.strip()
list1 = str1.split(' ')
list2 = []
for a in list1:
    if a.isdecimal() == True:
        list2.append(int(a))
index1 = question.find('问')
answer =  question[index1:-1]
answer.replace('多少',str(list2[0]*list2[1]))
print(f"""{list2[0]}×{list2[1]}={list2[0]*list2[1]}

答:{answer}""")