一个突发奇想,想解决一个学习中的行业痛点,让我又再度拾起了Python编程语言的学习。
刚学两天,今天遇到一个题,该题难度不高,但有一点关键点在网上找不到,网上也没有相关的答案,于是我只好千辛万苦地去CSDN、脚本之家上面寻找教程,看文档,最后成功解决了。
题目内容:接受一个由字母和数字组成的字符串,和一个字符,然后输出输入的字符串中含有该字符的个数。不区分大小写。
可以使用以下语句实现字符串s的输入:s=str(input())
输入格式:输入一个由字母和数字组成的字符串,和一个字符,以空格隔开。
输出格式:输出输入的字符串中含有该字符的个数。
输入样例:a1234bcdef a
输出样例:1
时间限制:500ms内存限制:32000kb
难点在于字符串切片后得到的是一个序列,怎么取用一个序列中的指定元素呢?
其实这是因为对切片 split()这个语法没有掌握好。
split() 方法语法:
str.split(str="", num=string.count(str)).
其中的参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。
其实在后面加上[]就可以确定要哪个元素了。
因此正确解决方法如此
s=str(input()) #输入要字符,由数字和字母组成的,中间由空格隔开
a= s.split(" ")[1] #切片后得到一个序列,获得空格左边那个元素
b= s.split(" ")[0] #切片后获得的序列里面得到空格右边的元素
c=b.count(a,) #数以下右边那个元素在左边的元素中由多少个,从哪开始数,数多少空缺
print(c) #输出个数
这样给出abc变量会容易理解和记忆,但是显得复杂因此也可以这样
s=str(input())
print(s.split(" ")[0].count(s.split(" ")[1],))
也许还有更简单的方法和命令,只是我还不知道。
生命不息,折腾不止!