2 计算字符个数

image.png

方法一(python):使用python的count()函数。

image.png
input_str = input()     #获取字符串
tag = input()   #获取目标字符
string = input_str.lower() #由于不区分大小写,一定要记得将所有字符都转化为小写
tagg = tag.lower()
counter = string.count(tagg)
print(counter)

方法二(python): 使用collections模块的Counter()函数

input_str = input() #获取字符串
tag = input() #获取目标字符
string = input_str.lower()
tagg = tag.lower()
import collections
key_dict = {}
counter = 0
key_dict = collections.Counter(string)
for key, count in key_dict.items():
    if key == tagg:
        counter = count
print(counter)

方法三(c++)

知识点1: C++ STL的algorithm库,使用模板函数transform可以将字符串全部转化为大写,或者全部转化为小写。

string strA = "[email protected]";
transform(strA.begin(), strA.end(), strA.begin(), ::toupper); //转化为大写
transform(strA.begin(), strA.end(), strA.begin(), ::tolower); //转化为小写
//此方法相当于修改了字符串本身。

知识点2:count(begin,end,‘a’),其中begin指的是起始地址,end指的是结束地址,第三个参数指的是需要查找的字符。

image.png

#include 
#include 
using namespace std;

int main()
{
    string input_str;
    char input_letter;
    cin >> input_str;
    cin >> input_letter;
    int num = 0;//存储字符串出现的次数
    // 这里也可以加上对 input_letter是否为字符的判断,如if((input_letter >= 'a' && input_letter <= 'z') || (input_letter >= 'A' && input_letter <= 'Z'))
    for(int i = 0; i < input_str.length(); i++)
    {
        if(input_str[i] == input_letter || input_str[i] == input_letter + 32 || input_str[i] == input_letter - 32) //不考虑大小写,因此需要变形
            num++;
    }
    cout << num << endl;
    return 0;
}

你可能感兴趣的:(2 计算字符个数)