Python-统计某英文字母的个数统计单词出现的次数
一、统计某英文字母的个数
题目
描述
输入一串字符串(仅含英文字母、空格和点号),和一个英文字符,统计该英文字母在字符串中出现的次数(不区分大小写)
输入格式
第一行,输入一个字符串。
第二行,输入一个英文字母。
输出格式
输出一个整数,表示该英文字母在字符串中出现的次数。
样例
输入数据 1
I have nothing to offer. I输出数据 1
2输入数据 2
I have nothing to offer. i输出数据 2
2提示
无
分析
先将大小写统一,然后用循环一个一个比较即可。
代码
n = input() m = input() s = "" ans = 0 if 'A' <= m <= 'Z': m = chr(ord(m) + 32) for i in n: if 'A' <= i <= 'Z': s += chr(ord(i) + 32) else: s += i for j in s: if j == m: ans += 1 print(ans)二、统计单词出现的次数
题目
描述
输入一串字符串(仅含英文字母、空格和点号,并且以点号结尾),和一个英文单词,统计该单词在字符串中出现的次数(不区分大小写)
输入格式
第一行,输入一个字符串。
第二行,输入一个英文单词。
输出格式
输出一个整数,表示该英文单词在字符串中出现的次数。
样例
输入数据 1
Have nothing to offer. have输出数据 1
1输入数据 2
I love python. Python is great. Python输出数据 2
2分析
根据题目可知所输入的字符串仅含英文字母、空格和点号,并且以点号结尾,因此很容易想到用空格和点号来区分每一个英文单词,然后我们可以用循环先找到每一个空格和点号在字符串中的位置所在,并存储在一个列表中,随后用循环和切片借助上述列表中的数据就可以精准裁出每一个英文字母了。
注意:需将输入的字符串和英文单词都转成小写或大写(建议用lower或upper)
代码
n = input() m = input() n = n.lower() m = m.lower() s = [] ans = 0 for i in range(len(n)): if n[i] == " " or n[i] == ".": s.append(i) for j in range(len(s)): if j == 0: if n[0:s[j]] == m: ans += 1 else: if n[s[j - 1] + 1:s[j]] == m: ans += 1 print(ans)