本文已参与「新人创作礼」活动,一起开启掘金创作之路。
题目来自牛客网的华为机试题库,本题目为初等题
HJ2 计算某字符出现次数
描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围: 1 \le n \le 1000 \1≤n≤1000
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
示例1
输入:
ABCabc
A
输出:
2
我写的
因为不知道借助工具,所以采用了很笨的方法,想到了用ASCII码来实现大小写的转换,把大写全部转化为小写字母的ASCII码然后保存起来,然后再通过ASCII码把要找的字母也转化成小写字母对应的ASCII码,用for循环计数,找出目标字符不分大小写一共出现了多少次。
s = input()
k = input()
re = []
for i in s:
if ord(i)-ord("a") >= 0:
re.append(ord(i)-ord("a"))
else:
re.append(ord(i)-ord("A"))
count = 0
if ord(k)-ord("a") >= 0:
k = ord(k)-ord("a")
else:
k = ord(k)-ord("A")
for i in re:
if i == k:
count += 1
print(count)
对Python比较熟悉的人写的
直接用lower()把字符转化成小写的,然后使用for循环对出现的次数进行计数即可,感觉熟悉内置函数还是很有必要的,不熟悉的话就需要走好多弯路
s = input().lower()
k = input().lower()
count = 0
for i in s:
if i == k:
count += 1
print(count)
非常熟悉python的人写的
我还没用过s.count(k),直接就可以把字符串s里k字符出现的次数数出来
s = input().lower()
k = input().lower()
print(s.count(k))